Configuration des couleurs NANO !

Fermé
informatics Messages postés 6 Date d'inscription vendredi 21 octobre 2011 Statut Membre Dernière intervention 1 novembre 2011 - 1 nov. 2011 à 17:45
mamiemando Messages postés 33352 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 12 novembre 2024 - 1 nov. 2011 à 22:32
Bonjour,

salut je ne comprend pas cette ligne dans la configuration du nano !

dans : color brightgreen "\<[a-z_]*\("
jcompred pas comment modifié "\<[a-z_]*\(" Et ksk sa veu dire !! Merci

1 réponse

mamiemando Messages postés 33352 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 12 novembre 2024 7 804
1 nov. 2011 à 22:32
A priori c'est une expression régulière (appelées aussi expression rationnelle). Une expression régulière est une chaîne de caractère qui décrit un ensemble de chaîne de caractère. Tu peux voir ça comme un motif. La chaîne peut ou non correspondre au motif.

Par exemple si on n'avait pas les expressions régulières, on serait un peu coincé pour décrire dans un fichier de configuration (ou dans un programme informatique) facilement un motif

Exemple : une "adresse internet" (c'est à dire une chaîne qui commence par http:// ou https:// suivi d'une adresse composé de lettres, _, -, %, ou de chiffres).

Les expressions régulières viennent répondre à cette problématique. Pour cela on a à notre disposition un certain nombre d'opérateurs (*, +, ?, [, ], (, ), ...). Ces caractères dédiés sont appelés méta-caractères.

Mais du coup, on s'aperçoit alors qu'il peut y avoir ambiguïté entre le caractère '*'. Ainsi quand on parle du caractère '*', on écrit en réalité '\*'. On dit alors qu'on a "échappé" le caractère '*'.

Maintenant, décryptons cette expression régulière.
- [a-z] signifie tous les caractères compris entre 'a' et 'z' au sens ASCII, donc toutes les minuscules.
- [a-z_] signifie n'importe quelle minuscule ou le caractère _
- * signifie répété entre 0 et n fois, donc [a-z_] signifie n'importe quelle chaîne de 0 ou n caractères composé de minuscule et/ou de _. Par exemple "azd_azocnao_icn" est une chaîne de caractère qui répond à ce motif.
- \< signifie "le caractère <". Le fait qu'il soit précédé d'un \ est utile si le caractère immédiatement à droite est un méta caractère (c'est-à-dire un "opérateur", comme c'est le cas pour *). A priori > n'est pas un opérateur donc le ^ ne sert à rien.
- \( de la même façon décrit "le caractère (", car ( est fait partie des méta-caractères des expressions régulières.

Tu peux avoir plus d'informations sur les expressions régulières ici :
https://fr.wikipedia.org/wiki/Expression_rationnelle

À noter que selon le programme (sous-entendu le moteur d'expression régulière sous-jacent), la syntaxe de l'expression régulière peut légèrement varier. De plus certains moteurs d'expressions rationnelles ne gère pas tous les opérateurs. Bref il faut au préalable se renseigner. Tu verras que sous linux les expressions régulières sont présentes à beaucoup d'endroits (url rewriting dans apache, recherches et substitions dans vim, recherches dans le man, commandes grep, egrep, awk, sed etc...).

Bonne chance
0