Ich kann nicht wirklich erklären, warum Ihre Regex nicht funktioniert.
Ich finde es zwar etwas mehrdeutig und zu kompliziert. Versuchen:
(ne|cs|hs|cc|lo|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al)?
Ich versuche, eine Syntax-Highlighter-Regel für die Arm-Assembly zur Verwendung in gedit zu schreiben. Im Arm hat jeder Befehl einige optionale Suffixe, die ihn bedingt ausführen lassen. Natürlich möchte ich, dass der Befehl selbst hervorgehoben wird, aber er muss auch hervorgehoben werden, wenn er ein Suffix hat. Also habe ich eine Keyword-Liste erstellt, die folgendermaßen aussieht:
<context id="keywords" style-ref="keyword"> <suffix>(ne)?|(cs)?|(hs)?|(cc)?|(lo)?|(mi)?|(pl)?|(vs)?|(vc)?|(hi)?|(ls)?|(ge)?|(lt)?|(gt)?|(le)?|(al)?</suffix> <keyword>add</keyword> ....keywords.... </context>
Alle aufgelisteten Schlüsselwörter werden hervorgehoben. Jedoch werden nur [ANYKEYWORDHERE] ne [ANYKEYWORDHERE] cs hervorgehoben. Es sieht so aus, als ob nur die ersten beiden Suffixe beachtet werden. Was mache ich falsch?
Ich kann nicht wirklich erklären, warum Ihre Regex nicht funktioniert.
Ich finde es zwar etwas mehrdeutig und zu kompliziert. Versuchen:
(ne|cs|hs|cc|lo|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al)?