Perl et les Expressions régulières

Opérateurs

L'opérateur permet l'utilisation des regex de correspondance et de substitution

=~

L'opérateur inverse

!~

Correspondance et substitution

Correspondance :

On recherche par correspondance la chaîne “toto” dans la variable

$var =~ m/toto/;
if( $var =~ m/toto/ )
{
  [...]
}
( La correspondance s'applique à la variable spéciale $_ )

Substitution :

On remplace par substitution la chaine “toto” par “titi”

$var1 =~ s/toto/titi/
( La substitution s'applique à la variable spéciale $_ )

Memo REGEXP PERL

bind :

$var =~ m/a/ : match a
$var =~ s/a/b/ : substitute a par b

Caractères :

\n	saut de ligne
\r	retour chariot
\t	tabulation
\f	saut de page
\e	échappement

Caractères spéciaux (utilisation du \) :

\ | ( ) [ ] { } ^ $ * + ? .

Ensemble :

[qwerty] : le motif match 1 caractère

Ensemble avec intervalle :

[a-c] : le motif match 1 caractère dans l'intervalle a,b,c

Ensemble different :

[^qwerty] : le motif match 1 caractère (n'importe lequel) sauf les caractère qwerty

Quantificateurs :

*	0 fois ou plus	m/a*/	mot vide, a, aa, aaa ...
+	1 fois ou plus	m/a+/	a, aa, aaa ...
?	0 ou 1 fois	m/a?/	mot vide ou a
{n}	n fois exactement	m/a{4}/	aaaa
{n,}	au moins n fois	m/a{2,}/	aa, aaa, aaaa ...
{,n}	au plus n fois	m/a{,3}/	mot vide, a, aa ou aaa
{n,m}	entre m et n fois	m/a{2,5}/	aa, aaa, aaaa ou aaaaa

Ensembles :

\d : un chiffre, équivalent à [0-9] (d comme digit, chiffre en anglais)
\D : un non-numérique, équivalent à [^0-9]
\w : un alphanumérique, équivalent à [0-9a-zA-Z_] (w comme word, c'est un caractère d'un mot)
\W : un non-alphanumérique, équivalent à [^0-9a-zA-Z_]
\s : un espacement, équivalent à [ \n\t\r\f] (s comme space)
\S : un non-espacement, équivalent à [^ \n\t\r\f] 

Guide regexp Perl

Tests de regexp

 
asr/sys/perl/perl_et_le_expressions_regulieres.txt · Dernière modification: 2016/03/29 23:37 (édition externe)
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki