Que sont les expressions régulières Linux?
Les 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 tels que 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.
- Expressions régulières de base
- Expressions régulières d'intervalle
- Expressions régulières étendues
- Résumé
Cliquez ici 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 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 |
* | 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écuter un exemple de chat pour voir le contenu d'un fichier existant
Recherchez le contenu contenant la lettre «a».
« ^ » correspond au début d'une chaîne. Cherchons le contenu qui COMMENCE par un
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 -
Sélectionnez uniquement les lignes qui se terminent par t en utilisant $
Expressions régulières d'intervalle
Ces expressions nous renseignent sur le nombre d'occurrences d'un caractère dans une chaîne. Elles 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»
Nous voulons vérifier que le caractère 'p' apparaît exactement 2 fois dans une chaîne l'un après l'autre. Pour cela, la syntaxe serait:
cat sample | grep -E p\{2}
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»
Supposons que nous voulions 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"
Expansion des accolades
La syntaxe du développement entre 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:
Dans les exemples ci-dessus, la commande echo crée des chaînes à l'aide du développement d'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
- Certaines expressions régulières de base sont:
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 d'accolades est utilisée pour générer des chaînes. Cela aide à créer plusieurs chaînes à partir d'une seule.