RegEx Frage

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
FANA
Beiträge: 482
Registriert: 30.03.2005 17:50:55

RegEx Frage

Beitrag von FANA » 07.12.2011 18:00:23

Hi,

ich bastel mir grad ein VIM Syntax Highlighting für "Heidenhain Klartext" (CNC).
Jetzt habe ich ein kleines RegEx Problem.
Vielleicht kann mir jemand bei der Lösung helfen.

Ich hab folgenden RegEx:

Code: Alles auswählen

R[0,L,R]
der mir R0, RR und RL damit in VIM highlighted.

Nun gibt es aber Zeilen wie diese:

Code: Alles auswählen

RND R0,3
Dort wird das R0 auch ge-highlighted, was ich aber nicht möchte.

Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Re: RegEx Frage

Beitrag von Lohengrin » 07.12.2011 18:14:09

Was willst du überhaupt?
Mach dir mal klar, was du überhaupt willst, und sei dabei ganz präzise. Dann hast du die Lösung. Und solange du das nicht tust, wird dir keiner helfen können.
Harry, hol schon mal das Rasiermesser!

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: RegEx Frage

Beitrag von rendegast » 07.12.2011 18:18:04

vielleicht
R[0,L,R][^,]
oder
R[0,L,R][^\,]

Warum eigentlich nicht
R[0LR] ?
Denn
[0,L,R]
würde eigentlich 0, L, R und "," erlauben.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
Meillo
Moderator
Beiträge: 9241
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: RegEx Frage

Beitrag von Meillo » 07.12.2011 18:26:43

FANA hat geschrieben: ich bastel mir grad ein VIM Syntax Highlighting für "Heidenhain Klartext" (CNC).
Jetzt habe ich ein kleines RegEx Problem.
Vielleicht kann mir jemand bei der Lösung helfen.
Gerne. :-)
Ich hab folgenden RegEx:

Code: Alles auswählen

R[0,L,R]
der mir R0, RR und RL damit in VIM highlighted.
Nein, diese RegExp matched auf `R0', `R,', `RL', und `RR'. (Dass das Komma zweimal dabei ist ist unerheblich, da es sich um eine Menge handelt.) Entferne die zwei Kommas und die RegExp matched so wie du willst.
Nun gibt es aber Zeilen wie diese:

Code: Alles auswählen

RND R0,3
Dort wird das R0 auch ge-highlighted, was ich aber nicht möchte.
Welche Auspraegung von RegExp hat der Vim? PCRE? Dann koennte man ein Lookahead-Konstrukt verwenden um den Fall auszuschliessen.

Sonst waeren weitere Beispiele gut, die zeigen wann was wie gematched werden soll.

Evtl. kannst du fuer `R0,' auch eine weitere Regel anlegen, die das Highlighting wieder abstellt.
Use ed once in a while!

Benutzeravatar
FANA
Beiträge: 482
Registriert: 30.03.2005 17:50:55

Re: RegEx Frage

Beitrag von FANA » 08.12.2011 02:43:03

Hi, danke.
Die Anregungen haben mir weiter geholfen.

So sieht's aus: http://gallery.debianforum.de/v/verschi ... ewsIndex=1

Antworten