Contenu | Rechercher | Menus

Annonce

Ubuntu-fr.org recrute toujours de nouveaux modérateurs, avec de l'expérience.

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

#1 Le 23/09/2009, à 00:30

FRUiT

REGEX & coloration syntaxique

Bonsoir,

J'ai un petit souci pour colorer des lignes de texte.

Ce que je veux :
Une ligne commençant par - doit se colorer en rouge. si dans cette ligne apparait un nouveau signe - entouré d'espaces, la coloration doit cesser.

Tout va bien jusqu'a "entouré d'espaces". Et là c'est le drame.

Exemple :

- Albert DUPUIS-MAISON - Architecte d'intérieur


Dans cet exemple il y a 3 tirets -
Je désire que la coloration rouge aille jusqu'au dernier tiret -
Le tiret entouré d'espaces doit être le délimiteur. [[:space:]]-[[:space:]] par exemple.

icolor brightred "^-(\\.|[^-]+( ))*"

Avec cette expression REGEX, ça marche plus ou moins sauf dans le cas de l'exemple, la coloration stoppera à la fin du mot "Albert" (c'est à dire en fait, au premier mot contenant un tiret)

Enfin en gros j'ai pas bon j'ai beau essayer des millions de trux j'arrive pas au résultat... Si une âme charitable s'y connais bien en REGEX ^^

[EDIT] et hop exemple en couleur smile
neon-nano.png

Dernière modification par FRUiT (Le 23/09/2009, à 01:34)


Neon Suite by FRUiT (kde4.6) http://tinyurl.com/yzm7cee
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#2 Le 23/09/2009, à 00:37

FRUiT

Re : REGEX & coloration syntaxique

Et également si vous connaissez de bons et complets manuels, avec de nombreux exemples je veux bien smile J'ai essayé man c'est vraiment succint, un ou deux tutos mais incomplets... sad

[EDIT] Mes excuses suis là a l'air bien sympa hmm
http://www.regular-expressions.info/tutorialcnt.html

Dernière modification par FRUiT (Le 23/09/2009, à 02:06)


Neon Suite by FRUiT (kde4.6) http://tinyurl.com/yzm7cee
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#3 Le 24/09/2009, à 21:21

FRUiT

Re : REGEX & coloration syntaxique

finalement, ça, ça marche bien :

icolor brightred start="^\s*-" end="(\s-|\s--|[A-Z_0-9-]$|(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|~|\.|\"|\'|@)$)

La cerise sur le gâteau aurait été que le 2ème tiret ne soit pas coloré rouge lui non plus mais au moins ça marche.

Je pense que c'est simplifiable (là ça parait long hmm )en effet la dernière partie indique de stopper la couleur rouge après une fin de ligne si aucun 2ème tiret ne se présente par exemple car le mode start= end= est multiligne. Dans les documentations je vois que le symbole de nouvelle ligne est \n et que le retour chariot est \r cependant aucun des deux ne semblent convenir, du moins pour un fichier nanorc ? J'avais essayé :

icolor brightred start="^\s*-" end="(\s-|\s--|[A-Z_0-9-]$|\n$)"

Mais ça ne marche pas pourquoi ??


Neon Suite by FRUiT (kde4.6) http://tinyurl.com/yzm7cee
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne