| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Guide/Regular_expressions/Assertions | [Back] [Original] |
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 aprs ou expressions conditionnelles).
Note :
Le caractre ? peut galement tre utilis comme quantificateur.
| Caractres | Signification |
|---|---|
x(?=y) |
Correspond 'x' seulement s'il est suivi de 'y'. On appelle cela un test de succession (lookahead).
Ainsi, |
x(?!y) |
Correspond 'x' seulement si 'x' n'est pas suivi de 'y'.
Ainsi, |
(?<=y)x |
Correspond
Ainsi / |
(?<!y)x |
Correspond
Ainsi, |
let regex = /Premier(?= test)/g;
console.log("Premier test".match(regex)); // [ 'Premier' ]
console.log("Premier truc".match(regex)); // null
console.log("Voici le Premier test de l'anne.".match(regex)); // [ 'Premier' ]
console.log("Voici le Premier truc du mois.".match(regex)); // null
L'expression rationnelle /\d+(?!\.)/ permettra de rechercher plusieurs chiffres si ceux-ci ne sont pas suivis d'un point dcimal. Ainsi, /\d+(?!\.)/.exec('3.141') trouvera la sous-chane "141" mais pas "3."
console.log(/\d+(?!\.)/g.exec("3.141")); // [ '141', index: 2, input: '3.141' ]
'?!' entre les assertions et les intervallesLa combinaison de caractres ?! a un sens diffrent entre les assertions /x(?!y)/ et les intervalles [^?!].
let orangePasCitron =
"Voulez-vous avoir une orange? Oui, je ne veux pas avoir de citron!";
let choixPasCitron = /[^?!]+avoir(?! un citron)[^?!]+[?!]/gi;
console.log(orangePasCitron.match(choixPasCitron)); // [ 'Voulez-vous avoir une orange?' ]
let choixPasOrange = /[^?!]+avoir(?! une orange)[^?!]+[?!]/gi;
console.log(orangePasCitron.match(choixPasOrange)); // [ 'Oui, je ne veux pas avoir de citron!' ]
let oranges = ["espce orange A ", "sorte orange B", "espce orange C"];
let especesOranges = oranges.filter((fruit) =>
fruit.match(/(?<=espce )orange/),
);
console.log(especesOranges); // [ 'espce orange A ', 'espce orange C' ]
Cette page a t modifie le 17 dc. 2024 par les contributeurices du MDN.
Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |