在 Visual Studio 中使用正则表达式
Visual Studio 使用 .NET framework 正则表达式查找和替换文本。
在 Visual Studio 2010 和早期版本中,Visual Studio 在“查找和替换”窗口中使用自定义正则表达式语法。 本主题介绍如何将一些更常用的自定义正则表达式符号转换为 .NET 版本。
用途 |
新建 |
旧 |
新示例 |
---|---|---|---|
匹配任何单个字符(分行符除外) |
. |
. |
a.o 匹配“around”中的“aro”和“about”中的“abo”,但不匹配“across”中的“acro”。 |
匹配前面表达式的零个或更多匹配项(并匹配尽可能多的字符) |
* |
* |
a*r 匹配 "rack" 中的 "r", "ark" 中的 "ar" 和 "aardvark" 中的 "aar" |
匹配任何字符零次或多次(通配符 *) |
.* |
.* |
c.*e 匹配“racket”中的“cke”,“comment”中的“comme”,和“code”中的“code”。 |
匹配前面表达式的一个或更多匹配项(并匹配尽可能多的字符) |
+ |
+ |
e.+e 与“feeder”中的“eede”而不是“ee”匹配。 |
匹配任一字符一次或多次(通配符 ?) |
.+ |
.+ |
e.+e 匹配字符串"feeder"中的"eede",但是不匹配"ee" |
匹配前面表达式的零个或更多匹配项(并匹配尽可能少的字符) |
*? |
@ |
e.*?e 与“feeder”中的“ee”而不是“eede”匹配。 |
匹配前面表达式的一个或更多匹配项(并匹配尽可能少的字符) |
+? |
# |
“e.+?e”匹配“enterprise”中的“ente”和“erprise”,但不匹配完整的单词“enterprise”。 |
将匹配字符串锚定到行首或字符串首。 |
^ |
^ |
^car 仅当其在行首出现时才与“car”一次匹配。 |
将匹配字符串锚定到行尾 |
\r?$ |
$ |
End\r?$ 只有出现在行尾时才与“end”匹配。 |
匹配一个集合中的任意单个字符 |
[abc] |
[abc] |
“b[abc]”匹配“ba”、“bb”和“bc”。 |
匹配字符范围内的任意字符 |
[a-f] |
[x-y] |
be[n-t] 匹配 "between" 中的 "bet", "beneath" 中的 "ben", 和 "beside" 中的 "bes", 但不匹配 "below"。 |
获取包含在圆括号内的表达式并对其进行隐式编号 |
() |
() |
“([a-z])X\1”与“aXa”和“bXb”匹配,但与“aXb”不匹配。".“\1”是指第一个表达式组“[a-z]”。 |
匹配无效 |
(?!abc) |
~(abc) |
“real (?!ity)”匹配“realty”和“really”中的“real”,但不匹配“reality”中的“real”。它还在“realityreal”中找到第二个“real”(但不是第一个“real”)。 |
匹配不在给定字符集中的任意字符 |
[^abc] |
[^abc] |
“be[^n-t]”匹配“before”中的“bef”、“behind”中的“beh”和“below”中的“bel”,但是不匹配“beneath”。 |
匹配符号之前或之后的那个表达式。 |
| |
| |
(sponge|mud) bath 匹配“sponge bath”和“mud bath”。 |
对反斜杠之后的字符进行转义 |
\ |
\ |
^ \ 匹配 ^ 字符。 |
指定前一个字符或组出现的次数 |
{x},其中 x 是指出现的次数 |
\x,其中 x 是指出现的次数 |
x(ab){2}x 匹配“xababx”,x(ab){2,3}x 匹配“xababx”和“xabababx”而非“xababababx”。 |
匹配 Unicode 字符类中的文本,文本中的“X”为 Unicode 数字。 有关 Unicode 字符的更多信息,请参见 |
\p{X} |
:X |
“\p{lu}”与“Thomas Doe”中的“T”和“D”匹配。 |
匹配字边界 |
“\b”(在字符类 \b 之外指定字边界,并在字符类指定 Backspace)。 |
“<”和“>”指定单词的开头和结尾 |
“\bin”与“inside”中的“in”匹配,但与“pinto”不匹配。 |
匹配换行符(即,回车后跟一个新行)。 |
\r?\n |
\n |
“End\r?\nBegin”仅当“End”是一行中的最后一个字符串和“Begin”是下一行中的第一个字符串时匹配单词“End”和“Begin”。 |
匹配任何字母数字字符 |
\w |
:a |
“a\wd”与“add”和“a1d”匹配,但不匹配“a d”。 |
匹配任何空白字符。 |
(?([^\r\n])\s) |
:b |
“Public\sInterface”匹配短语“Public Interface”。 |
匹配任何数字字符 |
\d |
:d |
“\d”与和“3456”中的“3”、“23”中的“2”和“1”中的“1”匹配。 |
匹配 Unicode 字符 |
\uXXXX,其中 XXXX 表示 Unicode 字符值。 |
\uXXXX,其中 XXXX 表示 Unicode 字符值 |
\u0065 匹配字符“e”。 |
匹配标识符 |
\b(_\w+|[\w-[0-9_]]\w*)\b |
:i |
与“type1”匹配,而不是与“&type1”或“#define”。 |
匹配引号中的字符串 |
((\".+?\")|('.+?')) |
:q |
匹配单引号或双引号中的任意字符串。 |
匹配十六进制数 |
\b0[xX]([0-9a-fA-F])\b |
:h |
匹配“0xc67f”,不匹配“0xc67fc67f”。 |
匹配整数和小数 |
\b[0-9]*\.*[0-9]+\b |
:n |
匹配“1.333”。 |
code lines: \r?$
空白行: ^[\r\n\s]*$
在 Visual Studio 中使用正则表达式的更多相关文章
- 在Visual Studio中使用正则表达式匹配换行和批量替换
系统环境:Windows 8.1 Enterprise Update 2 x64 开发环境:Mircosoft Visual Studio Ultimate 2013 Update 2 RC 问题:如 ...
- visual Studio 中使用正则表达式来进行查找替换
1.打开visual Studio 2. 通过菜单Edit -->Find and Replace -->Replace In File ,或者使用 ctrl + Shift + H ...
- Visual Studio 中使用的正则表达式 说明
Visual Studio 中使用的正则表达式 说明 2013-10-11 21:10:12| 分类: VB和VBA知识|举报|字号 订阅 参考:详解Visual Studio正则替换大 ...
- 如何在 Visual Studio 中使用 Git 同步代码到 CodePlex
开源社区不管在国内还是国外都很火热,微软也曾因为没有开源而倍受指责,但是随着 .Net framework.ASP.Net MVC等框架的逐渐开源,也让大家看到了微软开源的步伐.CodePlex 则是 ...
- Visual Studio 中 Build 和 Rebuild 的区别
因为之前写的程序比较小,编译起来比较快,所以一直都没有太在意 Build 和 Rebuild 之间的区别,后来发现两个还是有很大不同. Build 只针对在上次编译之后更改过的文件进行编译,在项目比较 ...
- [No0000AE]在 Visual Studio 中调试 XAML 设计时异常
在 Visual Studio 中进行 WPF, UWP, Silverlight 开发时,经常会遇到 XAML 设计器由于遭遇异常而无法正常显示设计器视图的情况.很多时候由于最终生成的项目在运行时并 ...
- Visual Studio中创建混合移动应用程序解决方案Xamarin Portable Razor
在Visual Studio中创建混合移动应用程序的一个解决方案是使用Xamarin Portable Razor工具,这是ASP.NET MVC API针对移动设备的一个轻量级实现.Xamarin编 ...
- 对 Visual Studio 中的Resharper禁用对某种文件的检测
原因:在Visual Studio中安装Reshaper后,就会对各种文件进行代码检测,但是因为Reshaper更新的速度不是很及时,所以有时会对Visual Studio中某些新功能误断,导致Cod ...
- 在Chrome+Visual Studio中调试asp.net程序很慢的问题(Firefox也有类似问题)
在Chrome+Visual Studio中调试asp.net程序很慢的问题(Firefox也有类似问题) 今天开始起在Chrome中调试,发现问题主要出在菜单栏(layout文件)中,google了 ...
随机推荐
- [洛谷P3979]遥远的国度
题目大意:有一棵$n$个点的树,每个点有一个点权,有三种操作: $1\;x:$把根变成$x$ $2\;u\;v\;x:$把路径$u->v$上的点权改为$x$ $3\;x:$询问以$x$为根的子树 ...
- [NOI2017]蔬菜 贪心
题面: [NOI2017]蔬菜 题解: 首先每天蔬菜会变质这点并不好处理,我们考虑让时间倒流,从后向前处理,这样的话就相当于每天都会得到一定量的蔬菜. 这样做有什么好处呢? 我们可以发现一个性质:如果 ...
- BZOJ2425:[HAOI2010]计数——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=2425 https://www.luogu.org/problemnew/show/P2518 你有 ...
- BZOJ4815 [CQOI2017]小Q的表格 【数论 + 分块】
题目链接 BZOJ4815 题解 根据题中的式子,手玩一下发现和\(gcd\)很像 化一下式子: \[ \begin{aligned} bf(a,a + b) &= (a + b)f(a,b) ...
- float,absolute脱离文档流的总结
dom元素脱离文档流,有如下几种方式: 1. float 脱离文档流,其他dom元素无视他,在其下方布局,但是其未脱离文本流,其他元素的文本会认为他存在,环绕他布局.父元素会无视他,因此无法获取其高度 ...
- 51nod 1273 旅行计划(思维题)
一开始看到这题真的有点懵逼...一直在想着套算法,结果题解除了sort和dfs其他什么都没用到 显然每次到达的一定都是叶子,先从根节点dfs一遍,按深度对叶子降序排序,按这个顺序向根节点dfs,路径上 ...
- Multi-target tracking with Single Moving Camera
引自:http://www.eecs.umich.edu/vision/mttproject.html Wongun Choi, Caroline Pantofaru, Silvio Savarese ...
- Java重要知识点
1.Java中除了static方法和final方法之外,其它所有的方法都是动态绑定,如同C++的虚函数,但是我们不需要显示的声明. private方法本质上属于final方法(因此不能被子类访问). ...
- tp查找某字段,排除某字段,不用一次写那么多
更多的情况下我们都是查询某些字段,但有些情况下面我们需要通过字段排除来更方便的查询字段,例如文章详细页,我们可能只需要排除status和update_time字段,这样就不需要写一堆的字段名称了(有些 ...
- HDU 5942 Just a Math Problem 容斥 莫比乌斯反演
题意:\( g(k) = 2^{f(k)} \) ,求\( \sum_{i = 1}^{n} g(i) \),其中\( f(k)\)代表k的素因子个数. 思路:题目意思很简单,但是着重于推导和简化,这 ...