Ajouter ce site à vos favoris Envoyer ce site à un ami Plan du site Aide
UTILITAIRES WEB
Compteur de visites/2717
Anciens Sites Jeux Nature Série de Photos Vidéos Utilitaires WEB Programmes

Expressions Régulières

Déclaration d'une Expression Régulière

en JAVA
en PHP
Restriction
var exp=new RegExp("Regex", "option"); exp = "/Regex/option"
var exp="/Regex/option"; exp = "#Regex#option"
  exp = "<Regex>option"
  exp = "'Regex'option"
  exp = "[Regex]option"
  exp = Regex

Regex (Expression Régulière)

Remarques: Sauf dans certains cas s'ils se trouvent à l'intérieur d'une classe définie entre [], les métacaractères suivants sont à échapper par '\' pour être utilisés de façon régulière:
# ! ^ $ ( ) [ ] { } ? + - * . et \

Regex
Expression Régulière
Signification
Restriction
^
Début de ligne ou de chaîne
 
$
Fin de ligne ou de chaîne
 
.

N'importe quel caractère (utilisez l'option s pour que le point fonctionne aussi pour les retours à la ligne)

 
x|y
Caractère (ou chaîne de caractères) x ou y
 
[abc]
Groupe de caractères : n'importe lequel de ceux entre crochets
 
[a-z]
Groupe de caractères : n'importe lequel de a à z
 
[^0-9]
Groupe de caractères : tous sauf ceux entre crochets
 
(x)

(?:x)

Expression parenthésée (mémorisée). Pour empêcher de mémoriser, utilisez la syntaxe (?:x).
Les expressions mémorisées peuvent être restituées lors d'un remplacement.

En JAVA
- par $n où n est le numéro de groupe de capture entre 1 et 9.
- la totalité de la chaîne trouvée est représentée par $0.

En PHP
- par $n (resp. \n) où n est le numéro de groupe de capture entre 1 et 99 (resp. 9) en PCRE,
ou par \n où n est le numéro de groupe de capture entre 1 et 9 en POSIX.
- la totalité de la chaîne trouvée est représentée par $0 ou par \0 en PCRE et par \0 en POSIX.

 
*
Caractère précédent de 0 à X fois
 
+
Caractère précédent de 1 à X fois
 
?
aractère précédent de 0 à 1 fois
 
{n}
Caractère précédent exactement n fois
 
{n,}
Caractère précédent au moins n fois
 
{n,m}
Caractère précédent entre n et m fois
 
\
N'est pas un caractère, mais sert de caractère d'échappement
-> il faut échapper tous les métacaractères qui ont une siginification particulière, comme: # ! ^ $ ( ) [ ] { } ? + - * . et \
sauf dans certains cas s'ils se trouvent à l'intérieur d'une classe définie entre [].
 
\
Caractère \ (échappé)
 
\t
Tabulation
\n
Nouvelle ligne
\r
Retour chariot
\d
Tout chiffre
-> équivalent à [0-9]
\D
Tout sauf un chiffre
-> équivalent à [^0-9]
[[:digit:]]
Tout chiffre
-> équivalent à [0-9]
 
[[:xdigit:]]
Caractères héxadécimaux
 
\b
Frontière de mot (espace, alinéa, ...)
\s
Tout caractère d'espacement (espace, tabulation, saut de page, ...)
-> équivalent à [\f \n \r \t \v]
\S
Tout sauf un caractère d'espacement
\w
Tout caractère alphanumérique, y compris underscore(_)
-> équivalent à [A-Za-z0-9_]
\W
Tout sauf un caractère alphanumérique
-> équivalent à [^A-Za-z0-9_]
[[:space:]]
Tout caractère d'espacement (espace, tabulation, saut de page, ...)
-> équivalent à [\f \n \r \t \v]
 
[[:punct:]]
Tout signe de ponctuation
 
[[:alpha:]]
Tout caractère alphanumérique, y compris underscore(_)
-> équivalent à [A-Za-z0-9_]
 
[[:alnum:]]
Toute lettre ou chiffre
 
[[:lower:]]
Toute lettre en minuscule
 
[[:upper:]]
Toute lettre en majuscule
 
[[:blank:]]
Espace ou tabulation
 
[[:graph:]]
Caractères affichables et imprimables
 
[[:cntrl:]]
Caractères d'échappement
 
[[:print:]]
Caractères imprimables exceptés ceux de contrôle
 
Assertions positives
Les parenthèses ne créent pas de variable mémorisée dans ce cas
 
x(?=y)
x suivi y
 
(?<=x)y
y précédé de x
 
Assertions négatives
Les parenthèses ne créent pas de variable mémorisée dans ce cas
 
x(?!y)
x non suivi y
 
(?<!x)y
y non précédé de x
 

Options

Options
Signification
" "
Vide, aucune option.
g
Recherche globale sur toute la chaîne.
i
Ne pas faire la distinction entre majuscule et minuscule.
gi
Association des options g et i.
U
Recherche la chaîne la plus petite (Ungreedy = pas gourmand).
s
Le point . peut aussi remplacer des sauts de ligne.
D
Pas de caractère de fin de ligne en fin de chaîne.
x
Les caractères d'espacement sont ignorés, sauf lorsqu'ils sont échappés, ou à l'intérieur d'une classe de caractères, et tous les caractères entre # non échappés et en dehors d'une classe de caractères, et le prochain caractère de nouvelle ligne sont ignorés.
e
La fonction PHP preg_replace effectue la substitution normale des références arrières dans la chaîne de remplacement, puis l'évalue comme un code PHP, et utilise le résultat pour remplacer la chaîne de recherche.

Fonctions JAVAscript

Méthodes sur exp
Opération réalisée
exp.test(txt)
Teste sur txt si l'expression régulière est vraie ou fausse.
exp.exec(txt)
Retourne un tableau des occurences répondant aux critères de l'expression régulière dans txt.
Méthodes sur txt
Opération réalisée
txt.split(exp)
Crée un tableau qui contient tous les éléments trouvés entre le séparateur défini par le Regex dans l'expression régulière.
txt.match(exp)
Crée un tableau qui contient tous les éléments qui correspondent au Regex dans l'expression régulière.
txt.replace(exp, remp)

Permet de trouver et de remplacer des occurences répondant aux critères du Regex dans l'expression régulière.


remp = "… $1 … $1..." => Utilise la valeur mémorisée dans $1 pour le remplacement.

txt.search(exp)
Retourne la position du caractère de la 1ière occurrence répondant aux critères du Regex dans l'expression régulière.

Fonctions PHP

Remarque: De préférence, utilisez les fonctions PCRE et les variables mémorisées $n.

PCRE
PERL Compatible
Regular Expression

POSIX
Extension i équivalente à option i
Opération réalisée
match = preg_split(exp, txt
[, lim, opt])
split(exp, txt)
spliti(exp, txt)
Crée un tableau qui contient tous les éléments trouvés entre le séparateur défini par le Regex dans l'expression régulière.
int preg_match(exp, txt, match
[, opt, offset])
 

Crée un tableau qui contient le premier élément qui correspond au Regex dans l'expression régulière.

Renvoie 1 si expression trouvée, 0 ou FALSE sinon.

int preg_match_all(exp, txt, match
[, opt, offset])
ereg(exp, txt)
eregi(exp, txt)

Crée un tableau qui contient tous les éléments qui correspond au Regex dans l'expression régulière.

Renvoie le nombre d'expressions trouvées, 0 ou FALSE sinon.

match = preg_grep(exp, tab,
[, opt])
 

Renvoie un tableau qui contient les éléments qui correspondent au Regex dans l'expression régulière.

Remarque: tab doit être un tableau.

match = preg_filtrer(exp, remp, txt[, lim, &cnt])

 

Identique à preg_replace ci-après, mais ne renvoie que les remplacements réalisés.

match = preg_replace(exp, remp, txt[, lim, &cnt])

ereg_replace(exp, txt)
eregi_replace(exp, txt)

Permet de trouver et de remplacer des occurences répondant aux critères du Regex dans l'expression régulière.

remp = "… $1 …$2..." => Utilise la valeur mémorisée dans $1, $2 pour le remplacement.

match = preg_replace_callback(exp, remp, txt[, lim, &cnt])

 

Permet de trouver et de remplacer des occurences répondant aux critères du Regex dans l'expression régulière.

remp est une fonction PHP qui prend en entrée la valeur trouvée, et qui fournit la valeur de remplacement.

match = preg_quote(txt, remp)
  Echappe tous les caractères spéciaux ainsi que le caractère donné dans remplacement par un \.

Fonctions PHP TEXTE

Fonction Texte
Opération réalisée
d = str_split(txt
[, nb_car = 1])
Crée un tableau qui contient les caractères de la chaîne en segments de nb_car caractères.
d = explode(exp, txt
[, nb_car = 1])
Crée un tableau qui contient les caractères de la chaîne, séparés par l'expression régulière.
d = str_replace(exp, txt
, remp[, &cnt])
Remplace dans la chaîne le texte correspondant à l'expression régulière par le texte de remplacement.
d = strtr(txt, exp, remp)
Remplace dans la chaîne chaque caractère contenu dans expression régulière par son remplaçant contenu dans remplacement.