[RÉSOLU] yet another regex issue

yet another regex issue [RÉSOLU] - Divers - Programmation

Marsh Posté le 22-01-2015 à 10:40:25    

Bonjour,
j'ai la regex suivante

'#ftruc\((,?".+?" )+?\)#'

qui devrait récupérer les chaines avec guillemets séparées par des virgules au sein de ftruc().
 
La regex ne me renvoie que le dernier catch, c'est-à-dire que dans ftruc("bidule","chose","machin" ) elle trouve "machin".
 
Je toruverais cool de catcher "bidule" et "chose", aussi.
Des idées d'où vient le problème?
 
Merci.


Message édité par Poly le 22-01-2015 à 13:04:09
Reply

Marsh Posté le 22-01-2015 à 10:40:25   

Reply

Marsh Posté le 22-01-2015 à 12:14:58    

Parce qu'en général les expression régulières n'ont pas plus de groupes de capture qu'il n'en est écrit dans l'expression, et ici il n'y en a qu'un, (,?".+?" )
Seul les méthode de regexp de .NET permettent de faire mieux avec la classe Group.
 
Dans ton cas, fais un groupe global qui capture tout
'#ftruc\(((,?".+?" )+?)\)#'
puis splitte selon les virgules ce qui est matché dans $1
 
A+,
 


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 22-01-2015 à 12:59:28    

Ah ben oui...
J'étais trop habitué à preg_match_all.
 
Merci. [:giz]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed