在 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 字符的更多信息,请参见

Unicode 标准 5.2 字符属性


\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\n\s]*[^\r\n\s#/]+.*$

空白行: ^[\r\n\s]*$

时间: 2024-08-08 09:40:38

在 Visual Studio 中使用正则表达式的相关文章

在Visual Studio中使用正则表达式匹配换行和批量替换

系统环境:Windows 8.1 Enterprise Update 2 x64 开发环境:Mircosoft Visual Studio Ultimate 2013 Update 2 RC 问题:如何在Visual Studio中使用正则表达式匹配换行符,空白符,Tab符等特殊符号,并且在当前文档或当前项目或整个解决方案中批量替换你指定的代码文字? 例子: 1 /// <summary> 2 /// 根据条件查询表中所有数据 3 /// </summary> 4 /// <

在Visual Studio中入门F#

写在前面的话 个人由某方面的兴趣需要学习 F#,网络上有关F#的中文资料很少,微软官方有很不错的文档,但是很可惜的是绝大部分的章节都是英文的.个人是一位.NET爱好者,想自己将 F# 的官方文档翻译出来,算是为了自己喜欢的 .NET 做一些贡献. 原文链接 Getting started with F# in Visual Studio 在这篇文章中 安装 F# 创建一个控制台应用程序 编写您的代码 运行您的代码 使用 F# Interactive 在 Visual Studio IDE 中支持

VS2015--在 Visual Studio 中调试时映射调用堆栈上的方法

https://msdn.microsoft.com/zh-cn/library/dn194476.aspx 在 Visual Studio 中调试时映射调用堆栈上的方法 创建代码图,以便在调试时对调用堆栈进行可视化跟踪.你可以在图中进行标注以跟踪代码执行的操作,以便专注于查找 Bug. 生成调用堆栈图 1 开始调试.(键盘:"F5") 2 在你的应用进入中断模式或你单步执行某一函数之后,请选择"代码图".(键盘:Ctrl + Shift + `) 当前的调用堆栈在

在Visual Studio中使用GitHub(使用篇)

一.准备工具 上一篇中我们已经安装了Git Extensions和Tortoisegit.在这里我们要为Visual Studio安装一个插件,专门用于Git. Git Source Control Provider,打开http://visualstudiogallery.msdn.microsoft.com/ 搜索"Git"关键字,即可搜索到该插件. 二.配置源码管理工具 三.配置帐户关联 四.使用 后面的事情就很简单了,创建文件夹 pull 一个副本,修改文件,commit文件,

Visual Studio中创建混合移动应用程序解决方案Xamarin Portable Razor

在Visual Studio中创建混合移动应用程序的一个解决方案是使用Xamarin Portable Razor工具,这是ASP.NET MVC API针对移动设备的一个轻量级实现.Xamarin编写了一个示例应用程序,演示了如何使用C#.本地API和Web技术编写iOS及Android应用. Visual Studio中创建混合移动应用程序解决方案Xamarin Portable Razor,布布扣,bubuko.com

去除 Visual Studio 中臃肿的 ipch 和 sdf 文件

使用VS2010建立C++解决方案时,会生成SolutionName.sdf和一个叫做ipch的文件夹,这两个文件再加上*.pch等文件使得工程变得非常的庞大,一个简单的程序都会占用几十M的硬盘容量,可惜毕竟硬盘还没有廉价到免费的地步. 那么,该怎么解决呢?其实可以关闭它.方法: Tools->Options->Text Editor->C/C++->Advanced->Disable Database,设置为True 但是这样的办法会产生另外的一些问题,可能会导致其他的一些

如何在Visual Studio中选择C++和C#的编译器版本

博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何在Visual Studio中选择C++和C#的编译器版本.

Visual Studio中的环境变量(以Visual Studio 2013为例)

前言 本文总结了Visual Studio中常见的环境变量及其在组织解决方案.工程中的作用. 注:本文使用的是Visual Studio 2013,由于作者主要从事C/C++开发,所以是以Visual C++的工作环境配置来描述. 什么是vs的环境变量? 先看图吧,图中以美元符号$开头 + 一对括号,这样进行引用的就是我所谓的环境变量, 图中出现的几个环境变量含义如下: 环境变量名 含义 $(SolutionDir) 解决方案目录:即.sln文件所在路径 $(Configuration) 当前的

visual studio C/C++ 编程学习 visual studio 中的生成事件

也许是太方便了,大家在visualstudio中调试代码时,大多习惯了直接点这个小绿箭头,但其实从点这个小绿箭头直到程序开始运行中间经历了多个步骤. 下面我就这段事件在编译过程中遇到的问题,讲一些我的经验. 今天先来说一说 visual studio 中的生成事件 一个事例:有几幅bmp图像数据文件放在 test .vcproj工程文件所在文件夹下面的Data文件夹中.此时,外界调用该工程所生成的DLL文件,且需要取Data文件夹中bmp图像数据文件. 如下图所示: 作为首启动项的CallTes