Page 1 sur 1

[R] RegExp Valeur Recu

Posté : ven. 24 janv. 2014 22:38
par Zouzaka
Bonjours, j'ai une stringRegExp de ce type :

Code : Tout sélectionner

StringRegExp($XML,"(\|==>)(.*?)",1)
Comme le Flag = 1 ca va me donner la string qui fut trouvé, je voudrait savoir comment faire pour que ca me donne uniquement le résultat la partie (.*?)

Re: [..]RegExp Valeur Recu

Posté : ven. 24 janv. 2014 23:00
par jchd
StringRegExp renvoie un tableau.
Essaye :

Code : Tout sélectionner

StringRegExp($XML, "(?:\|==>)(.*?)", 1)

Re: [..] RegExp Valeur Recu

Posté : ven. 24 janv. 2014 23:54
par Zouzaka
Je me permet de réouvrire le sujet pour vous demander pourquoi

Code : Tout sélectionner

local $x = StringRegExp("|==> Objet", "(?:\|==>)(.*?)", 1)
Ne me donne pas $x[0] = Objet ?

Re: [..] RegExp Valeur Recu

Posté : sam. 25 janv. 2014 02:05
par jchd
(.*?) est "greedy", avare. Ce groupe matche la chaîne minimum qui correspond à .*, soit ... la chaîne vide.

Code : Tout sélectionner

local $x = StringRegExp("|==> Objet", "(?:\|==>)(.*?)$", 1)
_ArrayDisplay($x)
Ici la correspondance s'étend jusqu'à la fin du sujet, ce qui équivaut en fait à :

Code : Tout sélectionner

local $x = StringRegExp("|==> Objet", "(?:\|==>)(.*)", 1)
_ArrayDisplay($x)

Re: [..] RegExp Valeur Recu

Posté : sam. 25 janv. 2014 10:21
par mikell
Exclure le délimiteur du groupe capturant marche aussi

Code : Tout sélectionner

#Include <Array.au3>
local $x = StringRegExp("|==> Objet", "\|==> (.*)", 1)
_ArrayDisplay($x)
NB : *? => "0 or more, lazy." (lapsus)

Re: [..] RegExp Valeur Recu

Posté : sam. 25 janv. 2014 11:52
par Zouzaka
Ok merci je Met en résolu ^^