Both sides previous revisionPrevious revisionNext revision | Previous revision |
informatique:regexp [2019/09/09 08:42] – [exclure un motif] pteu | informatique:regexp [2020/05/24 12:02] (current) – [Expressions régulières] pteu |
---|
======Expressions régulières====== | ======Expressions régulières====== |
| |
Les expressions régulières, ou expressions rationnelles, ou motif (ou même regexp en anglais), est une suite de caractères issue de la logique (mathématique) qui permet de décrire des chaînes de caractères. Il existe différentes notations, bien qu'elles se ressemblent beaucoup : POSIX, PCRE (Perl-Compatible Regular Expressions), Python, etc... [[https://fr.wikipedia.org/wiki/Expression_rationnelle#Standardisation|(plus de détail sur wikipedia)]] | Les expressions régulières, ou expressions rationnelles, ou motifs (ou même regexp en anglais), sont une suite de caractères issues de la logique (mathématique), qui permettent de décrire des chaînes de caractères. Il existe différentes notations, bien qu'elles se ressemblent beaucoup : POSIX, PCRE (Perl-Compatible Regular Expressions), Python, etc... [[https://fr.wikipedia.org/wiki/Expression_rationnelle#Standardisation|(plus de détails sur wikipedia)]] |
| |
| Penser à consulter un testeur d'expression régulière, comme l'excellent [[https://regex101.com/|regex101]], ou le visualiseur [[https://jex.im/regulex/#!flags=&re=%5E(a%7Cb)*%3F%24|jex.im]]. |
| |
=====Syntaxe===== | =====Syntaxe===== |
(?: parenthèses non capturantes | (?: parenthèses non capturantes |
(?= motif obligatoire | (?= motif obligatoire |
{} contiennent un ou plusieurs chiffres séparés par des virgules représentent l'encadrement du nombre de fois | {} contiennent un ou plusieurs chiffres séparés par des virgules, qui indiquent le nombre d'occurence |
que l'élément précédant les accolades peut se reproduire (par exemple p{3,5} correspond à ppp, pppp ou ppppp) | attendu de l'élément précédant les accolades (par exemple p{3,5} correspond à ppp, pppp ou ppppp) |
- défini un intervalle (par exemple [a-d] équivaut à [abcd]) | - défini un intervalle (par exemple [a-d] équivaut à [abcd]) |
. représente un caractère unique | . représente un caractère unique |
[:alnum:] caractères alphanumériques (équivalent à [A-Za-z0-9]) | [:alnum:] caractères alphanumériques (équivalent à [A-Za-z0-9]) |
[:alpha:] caractères alphabétiques ([A-Za-z]) | [:alpha:] caractères alphabétiques ([A-Za-z]) |
[:blank:] caractères blanc (espace, tabulation) | [:blank:] caractères blancs (espace, tabulation) |
[:ctrl:] caractères de contrôle (les premiers du code ASCII) | [:ctrl:] caractères de contrôle (les premiers du code ASCII) |
[:digit:] chiffre ([0-9]) | [:digit:] chiffres ([0-9]) |
[:graph:] caractères d'imprimerie (qui fait une marque sur l'écran en quelque sorte) | [:graph:] caractères d'imprimerie (affichage à l'écran en quelque sorte) |
[:lower:] caractères minuscules | [:lower:] caractères minuscules ([a-z]) |
[:print:] caractères imprimable (tout sauf les caractères de contrôle) | [:print:] caractères imprimables (tout sauf les caractères de contrôle) |
[:punct:] caractères de ponctuation | [:punct:] caractères de ponctuation |
[:space:] caractères d'espacement | [:space:] caractères d'espacement |
[:upper:] caractères majuscule | [:upper:] caractères majuscules ([A-Z]) |
[:xdigit:] caractères hexadécimal | [:xdigit:] caractères hexadécimaux |
</code> | </code> |
| |
| |
| =====Cheat sheets===== |
| |
| {{ :informatique:regex.jpg |}} |
| |
| |