Tutoriel sur les expressions régulières Linux : exemple de Grep Regex

Que sont les expressions régulières Linux ?

Expressions régulières Linux sont des caractères spéciaux qui aident à rechercher des données et à faire correspondre des modèles complexes. Les expressions régulières sont abrégées en « regexp » ou « regex ». Ils sont utilisés dans de nombreux programmes Linux comme grep, bash, rename, sed, etc.

Types d'expressions régulières

Pour faciliter la compréhension, apprenons les différents types de Regex un par un.

Cliquez sur here. si la vidéo n'est pas accessible

Expressions régulières de base

Certaines des commandes couramment utilisées avec les expressions régulières sont tr, sed, vi et grep. Vous trouverez ci-dessous quelques-unes des Regex de base.

Symbole Descriptions
. remplace n'importe quel caractère
^ correspond au début de la chaîne
$ correspond à la fin de la chaîne
* correspond à zéro ou plusieurs fois le caractère précédent
\ Représenter des caractères spéciaux
() Groupes d'expressions régulières
? Correspond à exactement un caractère

Voyons un exemple.

Exécutez l'exemple cat pour voir le contenu d'un fichier existant

Expressions régulières de base

Recherchez du contenu contenant la lettre « a ».

Expressions régulières de base

»^' correspond au début d'une chaîne. Cherchons le contenu qui COMMENCE par un

Expressions régulières de base

Seules les lignes commençant par un caractère sont filtrées. Les lignes qui ne contiennent pas le caractère « a » au début sont ignorées.

Regardons un autre exemple –

Expressions régulières de base

Sélectionnez uniquement les lignes qui se terminent par t en utilisant $

Expressions régulières de base

Expressions régulières d'intervalle

Ces expressions nous renseignent sur le nombre d'occurrences d'un caractère dans une chaîne. Ils sont

Expression Description
{n} Correspond exactement au caractère précédent apparaissant 'n' fois
{n,m} Correspond au caractère précédent apparaissant 'n' fois mais pas plus de m
{n, } Correspond au caractère précédent uniquement lorsqu'il apparaît « n » fois ou plus

Exemple :

Filtrer toutes les lignes contenant le caractère « p »

Expressions régulières d'intervalle

Nous voulons vérifier que le caractère 'p' apparaît exactement 2 fois dans une chaîne l'une après l'autre. Pour cela la syntaxe serait :

cat sample | grep -E p\{2}

Expressions régulières d'intervalle

Remarque : Vous devez ajouter -E avec ces expressions régulières.

Expressions régulières étendues

Ces expressions régulières contiennent des combinaisons de plusieurs expressions. Certains d'entre eux sont:

Expression Description
\+ Correspond à une ou plusieurs occurrences du caractère précédent
\? Correspond à zéro ou une occurrence du caractère précédent

Exemple :

Recherche de tous les caractères 't'

Expressions régulières étendues

Supposons que nous souhaitions filtrer les lignes où le caractère « a » précède le caractère « t ».

Nous pouvons utiliser une commande comme

cat sample|grep "a\+t"

Expressions régulières étendues

Expansion de l'accolade

La syntaxe du développement des accolades est soit une séquence, soit une liste d'éléments séparés par des virgules entre accolades « {} ». Les éléments de début et de fin d’une séquence sont séparés par deux points « .. ».

Quelques exemples:

Expansion de l'accolade

Dans les exemples ci-dessus, la commande echo crée des chaînes en utilisant l'expansion des accolades.

Résumé :

  • Les expressions régulières sont un ensemble de caractères utilisés pour vérifier les modèles dans les chaînes
  • Ils sont également appelés « regexp » et « regex ».
  • Il est important d'apprendre les expressions régulières pour écrire des scripts
  • Voici quelques expressions régulières de base :
Symbole Descriptions
. remplace n'importe quel caractère
^ correspond au début de la chaîne
$ correspond à la fin de la chaîne
  • Certaines expressions régulières étendues sont :
Expression Description

\+

Correspond à une ou plusieurs occurrences du caractère précédent
\? Correspond à zéro ou une occurrence du caractère précédent
  • Certaines expressions régulières d'intervalle sont :
Expression Description
{n} Correspond exactement au caractère précédent apparaissant 'n' fois
{n,m} Correspond au caractère précédent apparaissant 'n' fois mais pas plus de m
{n, } Correspond au caractère précédent uniquement lorsqu'il apparaît « n » fois ou plus
  • L'expansion des accolades est utilisée pour générer des chaînes. Cela aide à créer plusieurs chaînes à partir d’une seule.