Match conditionel

Fermé
azerty - 25 déc. 2012 à 18:19
 azerty - 2 janv. 2013 à 18:43
Bonjour,

J'utilise le module Regular Expressions 5.5 et cherche une fonction dont j'ai oublié le nom, qui permet de matcher une chaîne de caractères lorsqu'une autre est présente avant ou après. Je crois qu'il faut utiliser les symboles ? et =, mais je ne trouve plus la syntaxe exacte.

Exemple : dans une liste de noms "John Carmack John Doe John ...", j'aimerais que ma regex capture le pattern "John" lorsqu'il est suivi à droite du pattern "\s+Carmack". Je peux le capturer tout simplement avec un backreference sur le pattern "(John)\s+Carmack", mais je cherche précisément la fonction décrite plus haut.

Merci d'avance !

1 réponse

Trouvé, c'était le look ahead avec pour syntaxe RE.Pattern = "John(?= Carmack)".
0