« Regexp » : différence entre les versions

De DMS
Aucun résumé des modifications
Ligne 4 : Ligne 4 :
== Guide==
== Guide==
=== Les méta-caractères ===
=== Les méta-caractères ===
Ce sont des caractères qui sont interprétés par l'analyseur. Pour qu'un méta-caractère ne soit par interprété par l'analyseur, il faut le faire précéder du caractère '\'.  
Ce sont des caractères qui sont interprétés par l'analyseur. Pour que le méta-caractère * ne soit par interprété par l'analyseur, il faut le faire précéder du caractère '\', il sera alors considéré comme n'importe quel caractère.
{| class="wikitable"  style="margin: auto; text-align: left;"
{| class="wikitable"  style="margin: auto; text-align: left;"
|+Les méta caractères
|+Les méta caractères
Ligne 14 : Ligne 15 :
|-
|-
!*  
!*  
|Opérateur portant sur l'expression précédente :0, 1 ou plusieurs fois l'expression précédente.
|Opérateur portant sur l'expression précédente : 0, 1 ou plusieurs fois l'expression précédente.
|-
|-
!+  
!+  
Ligne 36 : Ligne 37 :
|}
|}


===Les classes de caractères===
===Les intervalles de caractères===
Une classe de caractères peut être définie en écrivant entre [ ] la liste des caractères de la classe.
Un intervalle de caractères peut être défini en écrivant entre [ ] la liste des caractères de cet intervalle.
{| class="wikitable"  style="margin: auto; text-align: left;"
{| class="wikitable"  style="margin: auto; text-align: left;"
|+ Les méta caractères
|+ Les méta caractères
Ligne 58 : Ligne 59 :


== Exemples==
== Exemples==
=== Avec la commande grep===
<pre>grep '^smu' file</pre>cherche 'smu' au début de chaque ligne dans file.
<pre>grep 'smu$' file</pre>cherche 'smu' à la fin de chaque ligne dans file.
<pre>grep '^smu$' file</pre>retourne les lignes contenant seulement et exactement 'smu'.
<pre>grep '\^s' file</pre>retourne les lignes commençant par '^s',car "\" permet de considérer ^ comme un caractère normal et non plus un méta-caractère.
<pre>grep '[Ss]mu' file</pre> affiche les lignes contenant 'Smu' ou 'smu'
<pre>grep 'B[oO][bB]' file</pre> affiche les lignes contenant BOB, Bob, BOb or BoB
<pre>grep '^$' file</pre> recherche les lignes vides dans file
<pre>grep '[0-9][0-9]' file</pre> recherche les lignes contenant 2 chiffres côte à côte.
==Voir aussi==
==Voir aussi==

Version du 16 décembre 2010 à 12:59

Description

Guide

Les méta-caractères

Ce sont des caractères qui sont interprétés par l'analyseur. Pour que le méta-caractère * ne soit par interprété par l'analyseur, il faut le faire précéder du caractère '\', il sera alors considéré comme n'importe quel caractère.

Les méta caractères
Méta-caractères Signification
? Opérateur portant sur l'expression précédente : 0 ou une fois l'expression précédente.
* Opérateur portant sur l'expression précédente : 0, 1 ou plusieurs fois l'expression précédente.
+ Opérateur portant sur l'expression précédente : 1 ou plusieurs fois l'expression précédente.
{n} Opérateur portant sur l'expression précédente : n fois exactement l’expression précédente
{n,m} Opérateur portant sur l'expression précédente : n fois minimum et m fois maximum l’expression précédente
^ Négation ou début de ligne.
$ Fin de ligne.
| Opérateur ou.

Les intervalles de caractères

Un intervalle de caractères peut être défini en écrivant entre [ ] la liste des caractères de cet intervalle.

Les méta caractères
Classe Signification
[abc] La classe des trois caractères a, b et c
[a-z] La classe de tous les caractères de a à z.
[^abc] La classe de tous les caractères sauf a, b et c.
[a-zA-Z] L'union des classes [a-z] et [A-Z].

Exemples

Avec la commande grep

grep '^smu' file

cherche 'smu' au début de chaque ligne dans file.

grep 'smu$' file

cherche 'smu' à la fin de chaque ligne dans file.

grep '^smu$' file

retourne les lignes contenant seulement et exactement 'smu'.

grep '\^s' file

retourne les lignes commençant par '^s',car "\" permet de considérer ^ comme un caractère normal et non plus un méta-caractère.

grep '[Ss]mu' file

affiche les lignes contenant 'Smu' ou 'smu'

grep 'B[oO][bB]' file

affiche les lignes contenant BOB, Bob, BOb or BoB

grep '^$' file

recherche les lignes vides dans file

grep '[0-9][0-9]' file

recherche les lignes contenant 2 chiffres côte à côte.

Voir aussi