.net 用于将标识符与Visual Studio正则表达式匹配的速记

.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,但不匹配&

自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
,但不匹配
&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