使用':'(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"

它拒绝工作!

任何想法?

使用':'(0x3A)字符在Regex句子中

我怀疑你的情况下的问题不是:本身,而是'b之前。'b标记了单词字符和非单词字符之间的边界,而Class是由单词字符组成的,:是一个非单词字符。所以'b对于:Class的行为是不同的,所以:

`'bClass` matches " Class Name"
`'b:` does not match " : Name"

如果您使用原始表达式,但将第一个'b替换为(?<!'w),则可以正确识别: