首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gtksourceview关键字转义

gtksourceview关键字转义
EN

Stack Overflow用户
提问于 2012-10-17 11:27:38
回答 2查看 386关注 0票数 1

在我的语言中,关键字是字面上的#list-empty?,所以我想与之匹配。我使用gtksourceview提供语法突出显示,并使用以下定义

<keyword>list-empty?</keyword>

但是,这与list-emptlist-empty (但不是文字list-empty?)匹配。对我来说,这表明gktsourceview将<keyword>中的内容视为正则表达式。因此,我想避开?,逐字匹配它。然而,像这样的东西:<keyword>list-empty\?<keyword>根本不能工作。

https://github.com/espringe/wisp/blob/bf1aed13/resources/wisp.lang#L67

那么我如何转义?并与之匹配呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-21 18:43:46

将以下内容添加到您的keyword上下文:

代码语言:javascript
复制
<suffix>(?!\w)</suffix>

...then继续并避开问号:

代码语言:javascript
复制
<keyword>list-empty\?</keyword>

默认后缀是\b,假设每个关键字都以一个单词字符结尾。大多数人都是这样做的,在这些情况下,(?!\w)的行为就像\b一样,但它也会匹配问号后面的字符,同时仍然不允许下一个字符是单词字符。

票数 4
EN

Stack Overflow用户

发布于 2012-10-17 11:43:31

?匹配其前面的单个字符

/list-empty?/将同时匹配list-empt和list-empty。

您可能想要使用look ahead:

关键字匹配< <keyword>(?=list\-empty).+ >后跟list-empty的行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12926661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档