使用':'(0x3A)字符在Regex句子中
本文关键字:Regex 字符 句子 0x3A 使用 | 更新日期: 2023-09-27 18:03:53
不,这不是The ':'字符,十六进制值0x3A,不能包含在名称
中。我有一个Regex为我的语法高亮显示我的脚本语言:
`@"'bClass+(?<range>'w+?)'b"`
基本上标记Class Name
(与引擎联机)
我不是Regex大师,但由于某种原因,使用我的语言创建标签的
:
字符不工作。我试着
@"'b:+(?<range>'w+?)'b"`, `@"'b':+(?<range>'w+?)'b"`<RB> `@"'b('x3A)+(?<range>'w+?)'b"
它拒绝工作!
任何想法?
我怀疑你的情况下的问题不是:
本身,而是'b
之前。'b
标记了单词字符和非单词字符之间的边界,而Class
是由单词字符组成的,:
是一个非单词字符。所以'b
对于:
和Class
的行为是不同的,所以:
`'bClass` matches " Class Name"
`'b:` does not match " : Name"
如果您使用原始表达式,但将第一个'b
替换为(?<!'w)
,则可以正确识别:
。