Get to know MDN better
Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Les assertions indiquent les conditions selon lesquelles il est possible d'avoir une correspondance (contenu situé avant la correspondance, situé après ou expressions conditionnelles).
Note : Le caractère ? peut également être utilisé comme quantificateur.
| x(?=y) |
Correspond à 'x' seulement s'il est suivi de 'y'. On appelle cela un test de succession (lookahead). Ainsi, /Jack(?=Sparrow)/ correspond à 'Jack' seulement s'il est suivi de 'Sparrow'. /Jack(?=Sparrow|Bauer)/ correspond à 'Jack' seulement s'il est suivi de 'Sparrow' ou de 'Bauer'. Cependant, ni 'Sparrow' ni 'Bauer' ne feront partie de la correspondance. |
| x(?!y) |
Correspond à 'x' seulement si 'x' n'est pas suivi de 'y'. Ainsi, /\d+(?!\.)/ correspond à un nombre qui n'est pas suivi par un point, cette expression utilisée avec la chaîne 3.141 correspondra pour '141' mais pas pour '3.141'. |
| (?<=y)x |
Correspond à x seulement si x est précédé par y. C'est ce qu'on appelle une recherche arrière (lookbehind).
Ainsi /(?<=Jack)Sprat/ correspond à "Sprat"
seulement s'il est précédé de "Jack". |
| (?<!y)x |
Correspond à x uniquement si x n'est pas précédé par y (parfois appelée en anglais negated lookbehind).
Ainsi, /(?<!-)\d+/ correspondra à un nombre
seulement si celui-ci n'est pas précédé d'un signe moins. |
L'expression rationnelle /\d+(?!\.)/ permettra de rechercher plusieurs chiffres si ceux-ci ne sont pas suivis d'un point décimal. Ainsi, /\d+(?!\.)/.exec('3.141') trouvera la sous-chaîne "141" mais pas "3."
La combinaison de caractères ?! a un sens différent entre les assertions /x(?!y)/ et les intervalles [^?!].
Cette page a été modifiée le 17 déc. 2024 par les contributeur·ice·s du MDN.
Votre modèle pour un internet meilleur.
Visitez la société mère à but non lucratif de Mozilla Corporation, la Fondation Mozilla.
Certaines parties de ce contenu sont protégées par le droit d'auteur ©1998—2026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.