| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Regular_expressions/Disjunction | [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.
Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
Une disjonction (disjunction en anglais) dfinit plusieurs alternatives. Toute alternative correspondant l'entre entrane la correspondance de l'ensemble de la disjonction.
alternative1|alternative2
alternative1|alternative2|alternative3|
alternativeNUn motif alternatif, compos d'une squence de atomes et d'assertions. La correspondance russie d'une alternative entrane la correspondance de l'ensemble de la disjonction.
L'oprateur | des expressions rationnelles spare deux ou plusieurs alternatives. Le motif essaie d'abord de faire correspondre la premire alternative ; si cela choue, il essaie de faire correspondre la deuxime, et ainsi de suite. Par exemple, ce qui suit correspond "a" au lieu de "ab", car la premire alternative correspond dj avec succs :
/a|ab/.exec("abc"); // ['a']
L'oprateur | a la plus basse priorit dans une expression rationnelle. Si vous souhaitez utiliser une disjonction comme partie d'un motif plus grand, vous devez la grouper.
Lorsqu'une disjonction groupe a d'autres expressions aprs elle, la correspondance commence par la slection de la premire alternative et la tentative de correspondre au reste de l'expression rationnelle. Si le reste de l'expression rationnelle ne correspond pas, le moteur essaie plutt l'alternative suivante. Par exemple,
/(?:(a)|(ab))(?:(c)|(bc))/.exec("abc"); // ['abc', 'a', undefined, undefined, 'bc']
// Pas ['abc', undefined, 'ab', 'c', undefined]
Cela s'explique par le fait qu'en choisissant a dans la premire alternative, vous pouvez choisir bc dans la deuxime alternative et obtenir une correspondance russie. Ce processus s'appelle le retour sur trace, car le moteur dpasse d'abord la disjonction puis y revient lorsque la correspondance suivante choue.
Notez aussi que toutes les parenthses de capture l'intrieur d'une alternative qui ne correspond pas produisent undefined dans le tableau obtenu.
Une alternative peut tre vide, auquel cas elle correspond une squence vide (autrement dit, elle correspond toujours).
Les alternatives sont toujours essayes de gauche droite, quelle que soit la direction de la correspondance (qui s'inverse dans une prcdence).
L'exemple suivant correspond aux extensions de fichiers et utilise le mme code que l'article sur les assertions de limite d'entre :
function estUneImage(nomFichier) {
return /\.(?:png|jpe?g|webp|avif|gif)$/i.test(nomFichier);
}
estUneImage("image.png"); // true
estUneImage("image.jpg"); // true
estUneImage("image.pdf"); // false
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # prod-Disjunction |
*, +, ?, {n}, {n,}, {n,m}[...], [^...]Cette page a t modifie le 9 oct. 2026 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 |