Petite note à moi-même concernant le caractère ? dans les expressions régulières :
Dans une regex, on sait que le modificateur ? rend le caractère ou le sous-ensemble précédent optionnel. Par exemple, on a qu'à penser à http(s)? au début d'un URL.
D'un autre côté, si on veut faire correspondre le caractère ?, on doit l'échapper avec un backslash (\?). C'est la règle pour tous les méta-caractères qui ont une signification dans la rédaction d'une expression régulière (.$?*+, etc).
Un double ? (??) rend l'expression lazy. C'est exactement comme le ? sauf que le caractère optionnel sera exclut de la correspondance, sauf si la chaîne ne correspond pas sans lui. Ainsi, pour l'adresse : https://www.desjardins.com/, le pattern https? reconnaîtra "https" alors que https?? se contentera de "http".
mardi 18 août 2009
0 réponse à "Caractère ? dans une regex"
S'abonner à :
Publier des commentaires (Atom)