gtksourceview语言文件正则表达式 - 看后面

时间:2014-06-25 16:02:41

标签: xml regex gedit gtksourceview

我正在尝试扩展gtksourceview-3.0中的C语言定义,可以找到完整的原始文件here。我只是想制作一些语法规则使用正则表达式,所以我可以语法突出显示函数,gedit中的类成员。函数很容易,我只是用正则表达式为它们添加了我自己的上下文:

<context id="myfunc" style-ref="myfunc">
    <match>\w+(?=\()</match>
</context>

即。然后我可以通过将样式规则应用到function()来为myfunc之类的颜色添加颜色。我发现做成员变量比较困难,例如我想为bar中的foo.bar着色。通常我会使用像

这样的后视正则表达式
<match>(?<=\.)\w+</match>

但它似乎不起作用(它打破了其他语法突出显示规则!)。此时我被卡住了,因为我不知道这里使用了哪种正则表达式,显然它不支持后视,我对XML知之甚少。有什么建议?

1 个答案:

答案 0 :(得分:0)

gedit邮件列表中有人回答我,显然XML不喜欢<字符,需要替换它:

(?&lt;=...)

然后它起作用。正则表达的味道是PCRE。