Use the #39;:#39; (0x3A) character in a Regex sentence?(是否在正则语句中使用#39;:#39;(0x3A)字符?)
问题描述
否,这不是The ':' character, hexadecimal value 0x3A, cannot be included in a name
的副本我有一个Regex用于我的语法高亮笔和我的脚本语言:
`@"Class+(?<range>w+?)"`
主要标记类名称
(使用我在线的引擎)
我不精通Regex,但由于某些原因,使用我的语言创建标签的:
字符不起作用。
我试过
@":+(?<range>w+?)"`, `@":+(?<range>w+?)"`<RB> `@"(x3A)+(?<range>w+?)"
但它拒绝工作!
有什么想法吗?
推荐答案
我怀疑您的问题不是:
本身,而是它之前的。
标记单词字符和非单词字符之间的边界,但
Class
由单词字符组成,:
是非单词字符。因此,对
:
的行为与对Class
的行为不同,因此:
`Class` matches " Class Name"
`:` does not match " : Name"
如果您使用原始表达式,但将第一个替换为
(?<!w)
,它可能会正确识别:
。
这篇关于是否在正则语句中使用';:';(0x3A)字符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!