Académique Documents
Professionnel Documents
Culture Documents
Septembre 2015
1. Les particularits de l'objet RegExp
2. Construire une expression rgulire
3. Dbut et fin de chane
4. Nombre d'occurences
5. Parenthses capturantes
6. Caractre quelconque
7. Liste de caractres
8. Caractres spciaux
9. Tableau rcapitulatif
10. Les proprits de l'objet RegExp
11. Les mthodes de l'objet RegExp
Il est galement possible de crer un tel objet de manire plus classique l'aide de son constructeur :
Expression = new RegExp("motif","drapeau")
Le motif reprsente l'expression rgulire en elle-mme tandis que le drapeau (optionnel) permet de
prciser le comportement de l'expression rgulire :
g indique une recherche globale sur la chane de caractre et indique une recherche de toutes les
occurences.
i indique une recherche non sensible la casse, c'est--dire que la recherche se fait indpendamment
de l'criture en majuscule ou minuscule de la chane.
gi combine les deux comportements prcdents.
standards.
Pour rechercher un caractre faisant partie des caractres spciaux, il suffit de le faire prcder
d'un antislash (sauf entre crochets) :
Caractre spcial Echappement
\
\\
\.
\$
\[
\]
\(
\)
\{
\}
\^
\?
\*
\+
\-
Nombre d'occurences
Les symboles *, + et ?, signifient respectivement "zro ou plusieurs", "au moins un", "un ou aucun", et
permettent de donner une notion de quantit.
"abc+": chane qui contient "ab" suivie de un ou plusieurs "c" ("abc", "abcc", etc.)
"abc*": chane qui contient "ab" suivie de zro ou plusieurs "c" ("ab", "abc", etc.)
"abc?": chane qui contient "ab" suivie de zro ou un "c" ("ab" ou "abc" uniquement)
"^abc+": chane commenant par "ab" suivie de un ou plusieurs "c" ("abc", "abcc", etc.)
Les accolades {X,Y} permettent de donner des limites prcises de nombre d'occurences.
"abc{2}": chane qui contient "ab" suivie de deux "c" ("abcc")
"abc{2,}": chane qui contient "ab" suivie de deux "c" ou plus ("abcc" etc..)
"abc{2,4}": chane qui contient "ab" suivie 2, 3 ou 4 "c" ("abcc" .. "abcccc")
Il est noter que le premier nombre de la limite est obligatoire ("{0,2}", mais pas "{,2}"). Les symboles vu
prcedemment ('*', '+', et '?') sont quivalents "{0,}", "{1,}", et "{0,1}".
Parenthses capturantes
Les parenthses ( ) permettent de reprsenter une squence de caractres et de capturer le rsultat. Les
occurences correspondant au motif entre parenthses sont accessibles via la mthode exec() de l'objet
RegExp ou bien les mthodes search(), match() et replace() de l'objet String.
"a(bc)+": chane qui contient "a" suivie de au moins
une occurence de la chane "bc"
Caractre quelconque
Le point (.) indique n'importe une occurence de n'importe quel caractre.
"^.{3}$": chane qui contient 3 caractres
".*": Tous les caractres
Liste de caractres
Les crochets [ ] dfinissent une liste de caractres autoriss (ou interdits). Le signe - permet quand lui de
dfinir un intervalle. Le caractre ^ aprs le premier crochet indique quand lui une interdiction.
"[abc]": chane qui contient un "a", un "b", ou un "c".
"[a-z]": chane qui contient un caractre compris entre "a" et "z".
"[^a-zA-Z]": chane qui ne commence pas par une lettre.
En effet entre crochets, chaque caractre reprsente ce qu'il est. Pour reprsenter un ] il faut le mettre en
premier (ou aprs un ^ si c'est une interdiction). Etant donn que le signe - sert dfinir un intervalle, il est
ncessaire de commencer ou de terminer par ce caractre lorsque l'on veut indiquer qu'il fait partie des
caractres autoriss :
"[-ag]": chane qui contient un moins (-), un "a", ou un "g"
"[a-g]": chane qui contient un caractre compris entre "a" et "g"
"[\+?{}.]": chane qui contient un de ces six caractres
"[]-]": chane qui contient le caractre "]" ou le caractre "-"
Caractres spciaux
Il existe enfin des caractres spciaux (prcds d'une barre oblique inverse) reprsentant des types de
caractres spcifiques :
Caractre
spcial
\b
Utilit
Permet de capturer une coupure de mot, c'est--dire des caractres situs au tout dbut ou
la fin d'un mot. Par exemple "he\b" permet de capturer "CommentCaMarche" mais pas
"chenil". De la mme faon "\bCo" permet de capturer "CommentCaMarche" mais pas
"DCor".
\B
Permet de capturer les caractres non prcds ou suivis d'une coupure de mot, c'est-dire des caractres situs au milieu d'un mot. Par exemple "ment\B" permet de capturer
"CommentCaMarche" mais pas "Comment Ca Marche".
\f
\n
\r
\s
Permet de capturer un "caractre blanc" (espace, retour chariot, tabulation, saut de ligne,
saut de page).
\S
Permet de capturer un "caractre non blanc" (tous les caractres sauf espace, retour
chariot, tabulation, saut de ligne, saut de page).
\t
\v
\w
\W
\oNombre
\xNombre
Tableau rcapitulatif
Voici un tableau rcapitulatif des caractres spciaux utiliss dans les expressions rgulires :
Caractre Utilit
\
[]
()
{}
Les accolades lorsqu'elles contiennent un ou plusieurs chiffres spars par des virgules
reprsentent le nombre d'occurences de l'lment les prcdant (par exemple p{2,5}
correspond ppp, pppp ou ppppp
Un moins entre deux caractres dans une liste reprsente un intervalle (par exemple [a-d]
reprsente [abcd]).
[abc]
[^abc]
Permet de rechercher tous les caractres sauf ceux compris entre les crochets.
Le rsultat d'une expression rgulire est stocke dans l'objet RegExp. Les proprits de l'objet RegExp
contiennent des chanes correspondant la dernire occurence trouve.
La syntaxe pour manipuler ces donnes est la suivante :
RegExp.proprit
Proprit
Description
$_
$*
$&
$+
$'
$'
global
ignoreCase
Proprit boolenne indiquant si la recherche est sensible la casse (true) ou non (false).
input
lastIndex
lastMatch
lastParen
leftContext
multiline
Proprit boolenne indiquant si la recherche porte sur plusieurs lignes (true) ou non
(false).
Mthode
Description
Expression.test("chaine");
Prcdent
13
14
15
16
17
18
19
20
21
22
Suivant