Answers:
一种选择是使用rx
宏使用sexps构造表达式。
你的例子变成 (rx "some" (group "regexp"))
以下是rx.el注释部分的几个示例,以了解其rx
工作原理:
这^;;\\s-*\n\\|^\n
变成
(rx (or (and line-start ";;" (0+ space) ?\n)
(and line-start ?\n)))
这[ \t\n]*:\\([^:]+\\|$\\)
变成
(rx (and (zero-or-more (in " \t\n")) ":"
(submatch (or line-end (one-or-more (not (any ?:)))))))
\\|
,\\(
和\\)
。不幸的是,在许多主题中这是不可见的。您可以覆盖font-lock-regexp-grouping-backslash
并font-lock-regexp-grouping-construct
使它更加与众不同。