User Tools

Site Tools


informatique:regexp

This is an old revision of the document!


logique

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.

Syntaxe

[]  définissent une liste de caractères
()  définissent un élément composé de l'expression régulière qu'elle contient (un bloc)
{}  contiennent un ou plusieurs chiffres séparés par des virgules représentent l'encadrement du nombre de fois 
    que l'élément précédant les accolades peut se reproduire (par exemple p{3,5} correspond à ppp, pppp ou ppppp)
-   représente un intervalle (par exemple [a-d] représente [abcd])
.   représente un caractère unique
*   zéro ou plusieurs
+   un ou plusieurs
?   zéro ou un
|   OU (lard|cochon)
^   * Placé en début d'expression il signifie "chaîne commençant par .. "
    * Utilisé à l'intérieur d'une liste c'est un "non"
$   Placé en fin d'expression il signifie "chaîne finissant par .. "

Les classes de caractères prédéfinis

Ils se caractérisent pas la notation [:classe:] :

[:alnum:]  caractères alphanumériques (équivalent à [A-Za-z0-9])
[:alpha:]  caractères alphabétiques ([A-Za-z])
[:blank:]  caractères blanc (espace, tabulation)
[:ctrl:]   caractères de contrôle (les premiers du code ASCII)
[:digit:]  chiffre ([0-9])
[:graph:]  caractères d'imprimerie (qui fait une marque sur l'écran en quelque sorte)
[:lower:]  caractères minuscules
[:print:]  caractères imprimable (tout sauf les caractères de contrôle)
[:punct:]  caractères de ponctuation
[:space:]  caractères d'espacement
[:upper:]  caractères majuscule
[:xdigit:] caractères hexadécimal

Exemples

Valider une URL :

/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \?=.-]*)*\/?$/
informatique/regexp.1270936079.txt.gz · Last modified: 2013/10/14 20:53 (external edit)