User Tools

Site Tools


informatique:regexp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
informatique:regexp [2018/11/19 13:31] pteuinformatique:regexp [2020/05/24 12:02] (current) – [Expressions régulières] pteu
Line 1: Line 1:
 ======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=====
Line 10: Line 12:
     (?: 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
Line 44: Line 46:
 [: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 |}}
  
  
 =====Exemples===== =====Exemples=====
 +
 +  * matcher chaque ligne qui ne contient pas le MOTIF (exclure le motif)
 +<code bash>
 +^((?!MOTIF).)*$
 +
 +# alt : ne pas matcher les lignes qui commencent par MOTIF :
 +^(?!MOTIF).*$
 +</code>
 +src stackoverflow : [[https://stackoverflow.com/questions/406230/regular-expression-to-match-a-line-that-doesnt-contain-a-word|Regular expression to match a line that doesn't contain a word]]
  
   * Valider une URL :   * Valider une URL :
informatique/regexp.1542634294.txt.gz · Last modified: 2018/11/19 13:31 by pteu