Translate

29 déc. 2016

REGEX

Qu’est-ce qu’une expression régulière ?

Une expression rationnelle ou expression normale1 ou expression régulière, est, en informatique, une chaîne de caractères, que l’on appelle parfois un motif, qui décrit, selon une syntaxe précise, un ensemble de chaînes de caractères possibles. Les expressions rationnelles sont issues des théories mathématiques des langages formels des années 1940. Leur capacité à décrire avec concision des ensembles réguliers explique qu’elles se retrouvent dans plusieurs domaines scientifiques dans les années d’après-guerre et justifie leur adoption en informatique. Les expressions rationnelles sont aujourd’hui utilisées par les informaticiens dans l’édition et le contrôle de texte ainsi que dans la manipulation des langues formelles que sont les langages de l’informatique.

Application

1)Rechercher /remplacer des séquences spécifiques dans des textes ou des corpus
en formulant un patron(motif)
2)Dans les outils de traitement de texte
Les concordances par exemple permettent en générale des requêtes par expressions régulières
application avec Antconc, le Trameur 
cf cours de Tal


La limite des recherches classiques 

Imaginons que l'on a un texte avec plusieurs mots « Bonjour », et que nous voulons rechercher seulement le premier mot « Bonjour » qui se trouve au début du texte, dans ce cas, nous ne pouvons pas realiser ceci avec la recherche traditionnelle.


Syntaxe

Caractères alternatifs
opérateur: [ ] 
m[oai]t signifie sélectionner les parties du texte où il y a un m, suivi d’une lettre qui est soit o, soit a, soit i, suivi d’un t 

Chaînes de caractères alternatives
opérateur : | 
m[oai]t=mot|mat|mit
par exemple on va chercher Bonjour ou Salut 
Bonjour | Salut

La négation 
opérateur: [^ ] 
 m[^oai]t signifie sélectionner les parties du texte où il y a un m, suivi d’une lettre qui n’est pas un o, ni a, ni i, suivi d’un t

Délimiteurs de chaînes
Les caractères de début de chaîne 
opérateur: ^
^Bonjour sert à sélectionner seulement le mot Bonjour se trouvant au début du texte.

Les caractères de fin de chaîne
opérateur: $
bye$ 

\w caractère de mot 
\b frontière de mot

opérateur: . le symbole . remplace n’importe quel caractère (caractère joker) 
opérateur:\ anti-slash utilisé comme barre d'échappement et de 
déspécialisation

Quantificateur 
opérateur:? représente 0 ou 1 occurrence de l‘expression qui précède 
opérateur: * 0 ou plus occurrences de l’expression qui le précède
opérateur: + au moins une occurrence
opérateur: {} lo{1,3}ng long, loong, looong 






Photo cf https://www.lucaswillems.com/fr/articles/25/tutoriel-pour-maitriser-les-expressions-regulieres

Les opérateurs s ́organisent selon des niveaux de priorité

fermeture * > concaténation > union


Exercices(à corriger)

1.Les mots commençant par polit- 
polit [a-z] *
2.Les mots finissant âr -isme
[a-z] *isme
3.Les formes du verbe écrire
écri[st(vons)(vez)(vent)]
4.Les déclinaisons des verbes finissant par -er/ir
[e (es)(e)(ons)(ez)(ent)] 
[st(ssons)(ssez)(ssent)]
5.Adresses email
[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}

[a-z0-9._-] signifie les lettre, chiffres, tirets, underscores possible dans l’adresse mail 
+pour dire qu’il y a au moins un caractère dans le chrochet

{2,}une suite de lettres, chiffres, points, tirets, au moins deux fois

Aucun commentaire:

Enregistrer un commentaire