Ich habe versucht zu lernen, wie Vim Plugins zu schreiben und die erforderlichen Zahlen übereinstimmen, die eine Sprache mit zu arbeiten erlauben würde, und zu versuchen, es mit verschiedenen Farben zu markieren und schrieb in sehr Magie-Modus folgende regex:Regex für wissenschaftliche Zahl und Hex- und Dezimalzahlen für vim erzeugt Fehler, während für Perl funktioniert?
syntax match cNumberGroup "\v\d+"
syntax match cNumberGroup "\v0x\x+"
syntax match cNumberGroup "\v[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?"
Der der erste ist für Dezimalzahlen. Die zweite für Hex-Zahlen Die dritte ist für wissenschaftliche Zahlen Darstellungen.
Die ersten beiden funktionieren gut, aber die letzte funktioniert nicht. Ich möchte wissen, warum es nicht funktioniert und auch das. Gibt es eine bessere Möglichkeit, alle Regex zu schreiben, um effizient alle drei Zahlensysteme abzudecken.
Danke.
Ich erhalte eine Fehlermeldung: 'E64:? folgt nichts. – Carpetsmoker
Wahrscheinlich, weil Sie '(?: ...)' verwenden, was in Vim nicht unterstützt wird. Vim Regexps sind nicht Perl-kompatibel. Ein Überblick über die Unterschiede finden Sie unter ': help perl-patterns'. – Carpetsmoker