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

标签 xml regex gedit gtksourceview

我正在尝试扩展gtksourceview-3.0中的C语言定义,完整的原始文件可以在 here 找到。 。我只想使用正则表达式制定一些语法规则,这样我就可以在 gedit 中对函数、类成员等内容进行语法高亮显示。函数很简单,我只是用正则表达式为它们添加了我自己的上下文:

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

即。然后我可以通过对 myfunc 应用样式规则来为 function() 等任何内容着色。我发现做成员变量比较困难,例如我想为 foo.bar 中的 bar 着色。通常我会使用像

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

但它似乎不起作用(并且它打破了其他语法突出显示规则!)。此时我陷入了困境,因为我不知道这里使用的是哪种正则表达式风格,显然它不支持后向查找,而且我对 XML 知之甚少。有什么建议么?

最佳答案

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

(?&lt;=...)

然后就可以了。正则表达式风格是 PCRE。

关于xml - gtksourceview 语言文件正则表达式 - 向后看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24413531/

相关文章:

android - 在 xml 之外应用布局属性有什么缺点?

ios - GDataXML 更新 xml 数据

android - 膨胀 WebView XML 时出错

php - 使用 PHP 缩小 CSS 文件

xml - 语法高亮 gtksourceview,使用另一个 xml 文件?

php - 克服 PHP、SoapServer、UTF-8 和非英文字符的编码问题?

python - 在 python 字符串替换中使用星号字符 (*) 作为 clown ?

ruby - 什么时候使用 Regexp.new()?

Gedit 折叠插件

ubuntu - gedit 3.2.1 文件浏览器 Pane 插件缓慢且无响应