我正在尝试使用 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),忽略*
第一次反向引用后的星号 ( )。
有没有办法捕获所有匹配单词的列表,或者可能完全不同的方法来解决这个问题?