Générez et expliquez intelligemment les expressions régulières, prend en charge divers modèles de correspondance courants
Convertissez vos instructions textuelles en formules ou obtenez des explications de formules.
Modifiez Excel en ligne via une conversation avec l'IA
Utilisez l'IA pour convertir vos instructions textuelles en requêtes SQL.
Générez du code Excel VBA pour l'automatisation et les solutions personnalisées dans Microsoft Excel.
Téléchargez votre fichier Excel et créez de beaux graphiques avec notre générateur de graphiques alimenté par l'IA.
Utilisez notre générateur de cartes mentales alimenté par l'IA pour transformer votre texte en belles cartes mentales. Facile à éditer et à personnaliser.
Utilisez l'IA pour générer et expliquer intelligemment les expressions régulières, prend en charge divers modèles de correspondance de texte et la validation de données.
Générez des images magnifiques à partir de descriptions textuelles en utilisant l'IA, avec plusieurs tailles. Gratuit !
> Cet article est un tutoriel complet sur les expressions régulières JavaScript (RegExp), de l’introduction au niveau avancé. Il comprend les règles de syntaxe, les métacaractères courants, les drapeaux (flags), les assertions, les groupes, le matching gourmand (greedy) vs. paresseux (lazy), et est applicable au développement front-end, au web scraping, à la validation de formulaires et à d’autres scénarios. Il convient aux utilisateurs débutants et avancés pour l’apprentissage et la référence.
const regex1 = /abc/; // Manière littérale
const regex2 = new RegExp('abc'); // Manière constructeur
Drapeau | Description |
---|---|
g |
Correspondance globale |
i |
Correspondance insensible à la casse |
m |
Correspondance multiligne |
s |
Permet à . de correspondre aux sauts de
ligne (ES2018)
|
u |
Prend en charge Unicode (ES6) |
y |
Correspondance “collante” (ES6) |
Exemple :
const re = /hello/gi;
const str = 'Hello hello';
console.log(str.match(re)); // ["Hello", "hello"]
Caractère | Signification |
---|---|
. |
Correspond à n’importe quel caractère (sauf saut de ligne) |
\d |
Correspond à un chiffre [0-9] |
\D |
Correspond à un caractère non numérique |
\w |
Correspond à un caractère de mot (alphanumérique + underscore) |
\W |
Correspond à un caractère non de mot |
\s |
Correspond à un caractère d’espacement |
\S |
Correspond à un caractère non d’espacement |
\b |
Correspond à une frontière de mot |
\B |
Correspond à une non-frontière de mot |
\\ |
Correspond à un antislash |
/[abc]/ // Correspond à 'a' ou 'b' ou 'c'
/[a-z]/ // Correspond aux lettres minuscules
/[A-Z]/ // Correspond aux lettres majuscules
/[0-9]/ // Correspond aux chiffres
/[^abc]/ // Correspond à n'importe quel caractère sauf a, b ou c
Quantificateur | Signification |
---|---|
* |
Correspond à l’élément précédent 0 fois ou plus |
+ |
Correspond à l’élément précédent 1 fois ou plus |
? |
Correspond à l’élément précédent 0 ou 1 fois |
{n} |
Correspond exactement n fois |
{n,} |
Correspond au moins n fois |
{n,m} |
Correspond au moins n fois, au plus m fois |
Exemple :
/\d{4}/.test("2025"); // true
/ab{2,4}c/.test("abbbc"); // true
/(abc)/ // Groupe capturant
/(abc){2}/ // Groupe capturant répété
/(?:abc)/ // Groupe non capturant
/(a)(b)(c)/ // Plusieurs groupes capturants
Extraction des correspondances :
const match = /(hello) (\w+)/.exec("hello world");
console.log(match[1]); // hello
console.log(match[2]); // world
/\d+(?=px)/ // Correspond aux chiffres suivis de px
/\d+(?!px)/ // Correspond aux chiffres non suivis de px
/(?<=\$)\d+/ // Correspond aux chiffres précédés de $
/(?<!$)\d+/ // Correspond aux chiffres non précédés de $
Expression | Comportement de correspondance |
---|---|
.* |
Gourmand (autant que possible) |
.*? |
Paresseux (aussi peu que possible) |
Exemple :
const str = '<p>text</p><p>more</p>';
const greedy = /<p>.*<\/p>/;
const lazy = /<p>.*?<\/p>/g;
console.log(str.match(greedy)); // ['<p>text</p><p>more</p>']
console.log(str.match(lazy)); // ['<p>text</p>', '<p>more</p>']
/^[\w.-]+@[a-zA-Z\d.-]+\.[a-zA-Z]{2,}$/.test("[email protected]");
/^1[3-9]\d{9}$/.test("13888888888");
const cleaned = str.replace(/\s+/g, '');
const domain = url.match(/https?:\/\/([^\/]+)/)[1];
Méthode | Description |
---|---|
test(str) |
Teste si la chaîne correspond |
exec(str) |
Renvoie l’objet de résultat de correspondance (avec groupes) |
str.match(re) |
Renvoie toutes les correspondances (avec drapeau global) |
str.replace() |
Remplace le contenu correspondant |
str.split(re) |
Divise la chaîne à l’aide de regex |
str.search(re) |
Renvoie l’index de la première correspondance |
Ce tutoriel fournit un aperçu systématique de la syntaxe des expressions régulières JavaScript et des exemples d’application pratiques, adaptés au développement front-end, au développement back-end, au traitement de texte et à divers autres cas d’utilisation. Maîtriser les expressions régulières peut grandement améliorer l’efficacité du traitement des chaînes de caractères.