Die bloße Anzahl von Backslashes, die meine Regexps benötigen, ist ziemlich verrückt. Hat elisp regexp Literale, so dass ich sowas schreiben kann
rx"some\(regexp\)"
Anstatt von
"some\\(regexp\\)"
elisp
regular-expressions
syntax
Nasenfrosch
quelle
quelle
\\|
,\\(
, und\\)
. Leider ist dies in vielen Themen nicht sichtbar. Sie können dies überschreibenfont-lock-regexp-grouping-backslash
undfont-lock-regexp-grouping-construct
deutlicher machen.Antworten:
Eine Möglichkeit besteht darin, das
rx
Makro zu verwenden, um Ihre Ausdrücke mit Sexps zu konstruieren.Dein Beispiel wird
(rx "some" (group "regexp"))
Hier sind einige weitere Beispiele aus dem Kommentarbereich in rx.el, um eine Vorstellung davon zu bekommen, wie es
rx
funktioniert:Das
^;;\\s-*\n\\|^\n
wirdDas
[ \t\n]*:\\([^:]+\\|$\\)
wirdquelle
rx
Syntax von Perl nach Elisp zu verschieben , wodurch sie einfacher zu warten sind. In ähnlichen Fällen macht die RX- Syntax elisp zu einem würdigen Ersatz für Perl-Python, Ruby usw. Vielen Dank.Nein, es gibt keine regulären Ausdrücke, aber für viele ist pcre2el eine hilfreiche Alternative.
Verwenden Sie es speziell von Elisp wie folgt:
quelle