繁体   English   中英

在正则表达式中使用':'(0x3A)字符?

[英]Use the ':' (0x3A) character in a Regex sentence?

不,这不是':'字符的副本,十六进制值0x3A,不能包含在名称中

我的脚本语言语法荧光笔有一个正则表达式:

`@"\bClass+(?<range>\w+?)\b"` 

基本上标记了类

(使用我上线的引擎)

我不是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"

如果使用原始表达式,但用(?<!\\w)替换第一个\\b ,则它可能会正确标识:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM