Regex: combinaison quantificateur

Bonjour à tous,

Voilà j’ai rencontré un code sur le net que je ne comprends pas:

preg_replace("/#[url\]www.(.*?)\[\/url\]#i", $texte);

Le problème, c’est quand faisant la combinaison des 3 je vois pas.
Je sais que le point signifie n’importe quel caractère, “" -> 0 ou plus et “?” -> 0 ou 1
D’ailleurs, avec ".
”, ça voudrais dire n’importe quel caractère apparu 0 ou plus de fois ( c’est à dire le même à la suite ? ou n’importe quel chaîne de caractères qui suit ? )
Et après en ajoutant le “?”, je vois pas ^^

Merci :slight_smile:

Ton pattern est de toute manière faux, le “/” devant n’a pas à être là ou ce sont les # au choix.

Pour ta question, .*? ou .+? c’est pour que cela soit moins greedy.

fr2.php.net…

J’ai ajouté accidentellement le / dans l’expression :slight_smile:
J’ai compris, merci beaucoup pour cette explication.