Aller au contenu

Wikipédia:AutoWikiBrowser/Expressions régulières

Cet utilisateur possède le statut pour utiliser le robot AutoWikiBrowser.
Une page de Wikipédia, l'encyclopédie libre.

AutoWikiBrowser - 6.5.0.0 ()

AutoWikiBrowser

Informations générales sur AWB.

Discussion (en)

Discussion sur AWB et questions sur son fonctionnement.

Demande d'autorisation

Demande pour être autorisé à utiliser AWB.

Typos

Corrections d'orthographe et de typographie gérées par AWB.

Symbole d'un engrenage Requête

Requête à faire exécuter par AWB ou un autre robot.

icône de livre Manuel

Pages d'aide à l'utilisation d'AWB.
Voir aussi :

Introduction

[modifier le code]

Les expressions régulières (couramment appelées « regex » ou « regexes » au pluriel) servent beaucoup quand des remplacement complexes ont besoin d'être réalisés. Elles permettent de trouver des mots, groupes de mots, modèles, etc. qui ont potentiellement des graphies différentes, et de les remplacer facilement.

Une blague connue dit pourtant « Quand un informaticien cherche à régler un problème avec une regex, il se retrouve avec deux problèmes ».

Note importante

[modifier le code]

Si en général les classes de caractères ne prennent pas en compte les lettres avec des diacritiques (accents, cédilles, etc.), celles d'AWB le font.

Par exemple, la regex \w{3} appliquée à années ne reconnaît que ann, tandis qu'AWB reconnaît ann et ées.

Aide à la création de regexes

[modifier le code]

Si vous avez besoin d'aide pour créer des regexes complèxes, vous pouvez essayer de demander :

  • Sur les pages Discussion Wikipédia:AutoWikiBrowser, Discussion Wikipédia:Bot, ou éventuellement sur le Bistro du jour.
  • Sur dans le salon Technique] du serveur Wikipédia en français de Discord (invitation).
  • Sur le site StackOverflow (en anglais, préciser que c'est pour AutoWikiBrowser et la flavour « .NET », ajouter les tags .net, regex, wikipedia, wiki, wikitext), mais écrivez attentivement la question en donnant des exemples, tout en vous disant bien que beaucoup de ses membres sont toxiques et que la plupart ne parle qu'anglais et est réfractaire aux autres langues.
  • À une intelligence artificielle générative, tout en sachant que ses regex ne marchent pas forcément comme prévu, il faut les tester en profondeur (en juillet 2026, qwen.ai donne des résultats acceptables et gratuits).

Définitions

[modifier le code]

Le tableau suivant montre les « match » surlignés en bleu (1er match, 2e match, 3e match, etc.).

Expressions régulières (.NET)
Ancres
Ancre Description Exemple Correspondance
^ Début de la page (ou de la ligne si multiline est choisi).
(Attention : ce caractère sert aussi pour la négation des classes de caractères).
^\w{4} abcddefg
\A Début de la page (même si multiline est choisi). \A\w{4} abcddefg
$ Fin de la page (ou de la ligne si multiline est choisi).
(Attention : ce caractère sert aussi pour les backreferences).
\w{4}$ abcddefg
\Z Fin de la page (même si multiline est choisi). \w{4}\Z abcddefg
\b Début ou à la fin d'un mot :
limite entre un caractère alphanumérique (lettre, chiffre, caractère de soulignement «_», voir \w) et un caractère non-alphanumérique (espace, autre caractère, début ou fin de ligne, etc. voir \W)
\b\d{3} 12 3456 a7890
\B Pas au début ni à la fin d'un mot. \B\d{3} 12 3456 a7890
Classes de caractère
Classe Description Exemple Correspondance
[caractères] N'importe quel caractère unique entre crochets (respecte la casse par défaut). [ep] Exemple :
[^caractères] N'importe quoi, y compris une nouvelle ligne, sauf les caractères entre crochets (respecte la casse par défaut). [^ep] Exemple :
[x-y] N'importe quel caractère unique (lettre ou chiffre) dans la plage comprise entre x et y (respecte la casse par défaut). [e-m] Exemple :
. N'importe quel caractère sauf une nouvelle ligne. .an ran-tan-plan
\w N'importe quel caractère alphanumérique (lettres, chiffres, caractère de soulignement) \w (années 1980-1990)
\W N'importe quel caractère non-alphanumérique \W (années 1980-1990)
\s Caractère d'espace (espace, tabulation, nouvelle ligne) \d\s 123 45 678
abc9 0def
\S N'importe quel caractère autre qu'un espace \d\S 123 45 678
abc9 0def
\d N'importe quel chiffre \d (années 1980-1990)
\D N'importe quel caractère autre qu'un chiffre \D (années 1980-1990)
\n Nouvelle ligne \nmachin truc machin chose
machin chose truc
chose truc machin
Quantificateurs
Quantificateur Description Exemple Correspondance
* 0 fois ou plus l'élément précédent. 12*3 012300112233000111333
+ 1 fois ou plus l'élément précédent. 12+3 012300112233000111333
? 0 ou 1 fois l'élément précédent. 12?3 012300112233000111333
{n} Exactement n fois l'élément précédent. \d{2} 0 12 345 6789
{n,} Au moins n fois l'élément précédent. \d{2,} 0 12 345 6789
{n,m} Entre n fois et m fois l'élément précédent. \d{2,3} 0 12 345 6789
Caractère d'échappement
Caractère d'échappement Description Exemple Correspondance
\ Reconnait le caractère qui le suit comme un caractère normal et non comme une fonction regex.
Peut être utilisé rechercher les caractères utilisés par la syntaxe regex (ancres, quantificateurs, crochets, parenthèses, etc.)
Par exemple : * $ + . ? ^ ( ) [ ] { } | \ > < (liste incomplète)
\* *\[\[[a-z]*\]\] * [[truc]] machin
*[[machin]] truc
* [[truc-machin]]
Groupes
Groupe Description Exemple Correspondance
(expression) Capture tout ce qui est entre les parenthèses. $1, $2, etc. permettent de rappeler le contenu des groupes (backreference) Ex(\w*)le Exemple
| Alternance (reconnait soit ce qui est à droite, soit ce qui est à gauche) truc|machin|chose truc ou machin ou chose
Chaîne correspondante Commentaire
\1, \2, \3, etc. Correspond aux chaînes dans les groupes de capture (...). (\n[^\n]+)\1 correspond aux lignes identiques adjacentes, $1 les remplacera par une seule copie
\k<nom> Correspond aux chaînes dans les groupes nommés (?<nom>...).
Backreference Commentaire
(truc) (machin) (chose) $1 renvoie truc
(truc) (machin) (chose) $2 renvoie machin
(truc) (machin) (chose) $3 renvoie chose
(A) (B) (C) (D) (E) (F) (G) (H) (I) (J) $10 renvoie J
(A) (B) (C) (D) (E) (F) (G) (H) (I) (J) ${1}0 renvoie A0
Extension notation Commentaire
(?:...) parenthèses sans capture (?:abc) match and consume, but don't capture, abc
(?=...) positive lookahead, no string consumed abc(?=xyz) renvoie abc seulement s'il est suivi de xyz
(?!...) negative lookahead, no string consumed abc(?!xyz) renvoie abc sauf s'il est suivi de xyz
(?<=...) positive lookbehind, no string consumed (?<=xyz)abc renvoie abc seulement s'il est précédé de xyz
(?<!...) negative lookbehind, no string consumed (?<!xyz)abc renvoie abc sauf s'il est précédé de xyz
(?<nom>...) donne un nom au groupe de capture (?<année>\s\d{4}\s) renvoie 2016 s'il est entouré d'espaces Rappel du contenu du groupe nommé en utilisant ${année}
(?#...) commentaire (?#Mettre un commentaire ici)
Exemple d'expression
L'expression régulière Reconnaît Exemple
([A-Za-z0-9-]+) Un ou plusieurs caractères qui sont des lettres (mais pas les lettres accentuées), des chiffres ou des tirets truc ou 2000 ou 2000-2005 ou truc-2000
(\d{1,2}\/\d{1,2}\/\d{4}) Date 3/24/2008 ou 03/24/2008 ou 24/03/2008
\[\[\d{4}\]\] Lien interne de 4 chiffres. [[2008]]

Articles connexes

[modifier le code]

Liens externes

[modifier le code]

Manuels d'utilisation

[modifier le code]

Testeur d'expressions régulières en ligne

[modifier le code]
  • (en) « Regex101 » (utiliser la Flavor .NET 7.0 (C#)).

Testeur d'expressions régulières pour Windows

[modifier le code]

Forum d'aide

[modifier le code]
Wikipédia:AutoWikiBrowser/Expressions régulières
Morty Proxy This is a proxified and sanitized view of the page, visit original site.