【发布时间】:2011-05-25 06:34:48
【问题描述】:
我正在尝试使用 font-lock 和 elisp 的正则表达式来突出显示如下内容:
class Foo implements A, B, C, D { }
问题是implements 之后的逗号分隔列表长度未知。我已经完成了突出显示列表中所有单词的正则表达式(使用 re-buider,突出显示 A、B、C 和 D):
"implements\\s-+\\(?:\\(\\sw+\\)\\s-*,\\s-*\\)*\\(\\sw+\\)"
但我无法将它与字体锁定结合使用。
显然
'("implements\\s-+\\(?:\\(\\sw+\\)\\s-*,\\s-*\\)*\\(\\sw+\\)"
(1 font-lock-type-face) (2 font-lock-type-face))
不起作用,因为它仅突出显示最后一次出现(C 和 D)而忽略第一次反向引用后的星号(*)。
有没有办法捕获所有匹配单词的列表,或者完全不同的方法来解决这个问题?
【问题讨论】:
标签: regex emacs elisp font-lock