J'ai des données similaires à cela:question preg_match_all (comment limiter la portée sans appel séparé preg_match)
aaa1|aaa2|ZZZ|aaa3|aaa4|aaa5|ZZZ|aaa6|aaa7
Je veux correspondre tous « aaa [0-9] » ENTRE « ZZZ » (non ceux à l'extérieur).
J'ai un code PHP:
$string = "aaa1aaa2zzzzaaa3aaa4aaa5zzzzaaa6aaa7"; preg_match_all("/zzzz.*(aaa[0-9]).*zzzz/", $string, $matches, PREG_SET_ORDER); print_r($matches);
Mais il émet seulement:
Array ( [0] => Array ( [0] => zzzzaaa3aaa4aaa5zzzz [1] => aaa5 ) )
Je veux "Aaa3", "aaa4" en plus de "aaa5".
Y at-il un moyen de le faire avec 1 appel à preg_match_all()
?
Merci - malheureusement 1 appel est la seule option que j'ai. C'est un système de tierce partie que je connais appelle preg_match_all mais je ne peux pas changer le code, seulement nourrir une règle. –