.net 用于将标识符与Visual Studio正则表达式匹配的速记
自VS2013以来,VS使用的是.NET正则表达式语法,这更标准,这是一件好事 但是,我还没有找到匹配标识符的速记,以前是.net 用于将标识符与Visual Studio正则表达式匹配的速记,.net,regex,visual-studio,visual-studio-2013,.net,Regex,Visual Studio,Visual Studio 2013,自VS2013以来,VS使用的是.NET正则表达式语法,这更标准,这是一件好事 但是,我还没有找到匹配标识符的速记,以前是:I 表示将:i替换为\b(\uw+\124;[\ w-[0-9\u]]]\ w*)\b。。。我也是 真的没有较短的版本吗?让我们检查一下: : C/C++标识符 :i 表达式的简写([a-zA-Z\$][a-zA-Z0-9\$]*)。匹配任何可能的C/C++标识符 : 匹配标识符 \b(\uw+\124;[\ w-[0-9\u]]]\ w*)\b 匹配type1,但不匹配&
:I
表示将:i
替换为\b(\uw+\124;[\ w-[0-9\u]]]\ w*)\b
。。。我也是
真的没有较短的版本吗?让我们检查一下:
:
C/C++标识符:i
表达式的简写(
[a-zA-Z\$][a-zA-Z0-9\$]*
)。匹配任何可能的C/C++标识符
:
匹配标识符\b(\uw+\124;[\ w-[0-9\u]]]\ w*)\b
匹配
type1
,但不匹配&type1
或#define
现在,测试和。结果相同,并且都匹配&type1
和#define
。不知道这是不是有意的
然而,当谈到缩短时,[\w-[0-9]]
几乎等于.NET中的\p{L}
(\w
没有0-9和下划线,但仍然匹配一些印地语和一些其他数字)。我猜\p{L}
实际上就是这个意思,你可以使用
如果您不想匹配&键入
或#定义
,则需要:
\b(?)?
或者——也许——与:
(?让我们检查一下:
:
C/C++标识符
:i
表达式([a-zA-Z\$][a-zA-Z0-9\$]*
)的简写形式。匹配任何可能的C/C++标识符
:
匹配标识符
\b(\uw+\124;[\ w-[0-9\u]]]\ w*)\b
匹配type1
,但不匹配&type1
或#define
现在,测试和。结果是相同的,都匹配&type1
和#define
。不知道是否有意
然而,当谈到缩短时,[\w-[0-9]]
几乎等于.NET中的\p{L}
(\w
没有0-9和下划线,但仍然匹配一些印地语和一些其他数字)。我想\p{L}
实际上是这个意思,您可以使用
如果您不想匹配&键入
或#定义
,则需要:
\b(?)?
或者——也许——与:
(?不知道,但我想这是关于一致性,一个更好的正则表达式引擎,以及与PCREIn的兼容性大多数简单搜索\w+
就足够了。不知道,但我想这是关于一致性,一个更好的正则表达式引擎,以及与PCREIn的兼容性大多数简单搜索\w+
就足够了。
\b(?<![&#])(_\w+|\p{L}\w*)\b
(?<=^|\s)(_\w+|\p{L}\w*)\b