Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, 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

Haut de page ↑