是否在正则语句中使用':'(0x3A)字符?

Use the #39;:#39; (0x3A) character in a Regex sentence?(是否在正则语句中使用#39;:#39;(0x3A)字符?)
本文介绍了是否在正则语句中使用':'(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),它可能会正确识别:

这篇关于是否在正则语句中使用&#39;:&#39;(0x3A)字符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!


本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)