在我的语言中,关键字是字面上的#list-empty?,所以我想与之匹配。我使用gtksourceview提供语法突出显示,并使用以下定义
<keyword>list-empty?</keyword>
但是,这与list-empt和list-empty (但不是文字list-empty?)匹配。对我来说,这表明gktsourceview将<keyword>中的内容视为正则表达式。因此,我想避开?,逐字匹配它。然而,像这样的东西:<keyword>list-empty\?<keyword>根本不能工作。
https://github.com/espringe/wisp/blob/bf1aed13/resources/wisp.lang#L67
那么我如何转义?并与之匹配呢?
发布于 2012-10-21 18:43:46
将以下内容添加到您的keyword上下文:
<suffix>(?!\w)</suffix>...then继续并避开问号:
<keyword>list-empty\?</keyword>默认后缀是\b,假设每个关键字都以一个单词字符结尾。大多数人都是这样做的,在这些情况下,(?!\w)的行为就像\b一样,但它也会匹配问号后面的字符,同时仍然不允许下一个字符是单词字符。
发布于 2012-10-17 11:43:31
?匹配其前面的单个字符
/list-empty?/将同时匹配list-empt和list-empty。
您可能想要使用look ahead:
关键字匹配< <keyword>(?=list\-empty).+ >后跟list-empty的行。
https://stackoverflow.com/questions/12926661
复制相似问题