正则表达式是查找和替换文本模式的简洁而灵活的表示。在“查找和替换”窗口中执行“快速查找”、“在文件中查找”、“快速替换”或“在文件中替换”操作时,可以在窗口的“查找内容”和“替换为”字段中使用一组特殊的正则表达式。
要启用正则表达式,请在“查找和替换”窗口中,展开“查找选项”,选择“使用”,然后选择“正则表达式”。“查找内容”和“替换为”字段旁边的三角形“表达式生成器”按钮可用。单击此按钮列出最常用的正则表达式。当您单击列表中的正则表达式时,它将被插入到“查找内容”或“替换为”字段中的光标位置。单击表达式生成器底部的“完整字符列表”时,将显示帮助主题。主题涵盖了VisualStudio的查找和替换功能识别的所有正则表达式。您可以复制主题中的正则表达式,并将其粘贴到“查找内容”或“替换为”字段中。
“查找内容并替换为”中可用的正则表达式和中有效的正则表达式之间有许多语法差异。NETFramework编程。例如,在“查找和替换”窗口中,大括号{}用于替换标记的表达式:要每次都将not改为doesnot,您应该使用查找表达式{ does } not和替换表达式1not。
00-1010表达式生成器中经常使用的正则表达式如下所示。
表示
语法
解释
例子
任何角色。
匹配除换行符以外的任何字符。
A.o匹配“周围”中的“aro”和“大约”中的“abo”,但不匹配“对面”中的“acro”。
零或。
表示“多于一的”
*
不匹配前一个表达式,或者匹配多次,并生成所有可能的匹配。
* ab匹配“bat”中的“b”和“about”中的“ab”。
E.*e匹配“企业”一词。
一个或者。
更多。
匹配上一个表达式的至少一个搜索词。
Ac匹配包含字母“a”和至少一个字母“c”的单词,例如“race”和“ace”。
A.s与单词“access”匹配。
行头
^
将匹配的字符串定位到行首。
只有当单词“Car”作为编辑器行中的第一组字符出现时,car才会匹配该单词。
行尾
$
将匹配的字符串锚定到行尾。
End$仅当单词“End”出现在编辑器中可能位于一行末尾的最后一组字符时,才匹配该单词。
前言。
仅当文本中的单词以此开头时匹配。
In匹配以字母组合“in”开头的单词,如“inside”和“into”。
屈折结尾
仅当单词在文本中的此位置结束时匹配。
Ss匹配以字母组合“ss”结尾的单词,如“跨越”和“损失”。
换行符
n
匹配独立于操作系统的换行符。在替换表达式中,插入一个新的行字符。
End 只有当“End”是一行中的最后一个字符串,“Begin”是下一行中的第一个字符串时,Begin才匹配单词“End”和“Begin”。
在“替换”表达式中,BeginnEnd将第一行中的“End”替换为“Begin”,插入换行符,然后将“Begin”替换为“End”。
集合中的任何字符。
[]
匹配[]中的任何字符。要指定字符范围,请列出由破折号(-)分隔的开始和结束字符,如[a-z]。
Be[n-t]匹配“bet”中的“bet”和“better”中的“ben”,匹配“belt”中的“bes”,但不匹配“bel”中的“bel”。
集合中没有一个字符。
[.]
匹配任何未在随后的字符集内指定的字符。
Be [n-t]匹配“前”中的“bef”,“后”中的“beh”和“下方”中的“bel”,但不匹配“下方”中的“ben”。
或者
|
匹配or符号(|)之前或之后的表达式。最常用于分组。
(海绵|泥)沐浴搭配“海绵浴”和“泥浴”。
换码符
根据原始含义匹配反斜杠()后的字符。这允许您查找正则表达式符号中使用的字符,如{和。
搜索字符。
标记表达式(或反向引用)。
{}
使用括号中的文本来标识要替换的文本的位置。
{不}识别替换字符串中替换前的文本, 1不更改出现的每一项。
信用证标识符
:i
表达式的缩写形式([a-zA-Z_$][a-zA-Z0-9_$]*)。
匹配任何可能的客户/客户标识符。
引用字符串。
:q
表达式的简短形式((“[”]*)|(“[”]*))匹配双引号或单引号中的所有字符,也匹配引号本身。
:q匹配“测试参考”和“测试参考”,但不匹配“不能”中的“t”。
或者tab。
:b
匹配空格或制表符。
: Binterface与文本中的短语“Public:bInterface”匹配。
整数
:z
表达式的短形式([0-9]),匹配任何数字字符组合。
匹配任何整数,如“1”、“234”、“56”等。
查找和替换操作中所有有效正则表达式的列表比表达式生成器中显示的列表长。虽然以下正则表达式未显示在表达式生成器中,但您可以在“查找内容”或“替换为”字段中使用它们。
表示
语法
解释
例子
至少,
零或。
更多。
@
匹配上一个表达式的0个或更多搜索词,并匹配尽可能少的字符。
[emailprotected]匹配“enterprise”中的“ente”和“enterprise”,但不匹配完整的单词“enterprise”。
至少,
一个或者。
更多。
#
匹配上一个表达式的一个或多个搜索词,并匹配尽可能少的字符。
Ac#匹配包含字母“a”和至少一个字母“c”的单词,例如“ace”。
A.#s匹配单词“acces”中的“accept”。
重复
n次
n
匹配前一个表达式的n次出现。
[0-9] 4匹配任何4位数序列。
组
()
允许将一组表达式组合在一起。如果要在一个操作中搜索两个不同的表达式,可以使用分组表达式来组合这两个表达式。
如果您想搜索(-[a-z][1-3]或-[0-9][a-z],您应该将这两个表达式组合如下:([a-z][1-3])|(-[0-9][a-z])。
第n次
有记号
的文本
n
在查找或替换表达式中,指示第n个标记表达式匹配的文本,其中n是1到9之间的数字。
在替换表达式中, 插入整个匹配的文本。
如果您搜索一个{[0-9]}并将其替换为1,所有在“a”后带有数字的搜索词都将被替换为以下数字。例如,“a1”被“1”代替,类似地,“a2”被“2”代替。
右对齐字段
(w,n)
在“替换”表达式中,将字段中第n个标记的表达式右对齐至少w个字符宽。
如果您搜索一个{[0-9]}并用(10,1)替换它,则搜索词“an”将被替换为一个整数,并向右对齐10个空格。
左对齐字段
(-w,n)
在替换表达式中,将字段中第n个标记的表达式向左对齐至少w个字符宽。
如果您搜索一个{[0-9]}并用(-10,1)替换它,“an”将被替换为一个整数,并用10个空格左对齐。
禁止
相称的
~(十)
当x出现在表达式的这个位置时,禁止匹配。
真实与“真”和“真”中的“真实”匹配,但与“现实”中的“真实”不匹配。
信
数字
性格;角色;字母
:a
匹配表达式([a-zA-Z0-9])。
匹配任何字母数字字符,如“a”、“a”、“w”、“w”、“5”等。
信
性格;角色;字母
:c
匹配表达式([a-zA-Z])。
匹配任何字母字符,如“a”、“a”、“w”、“w”等。
小数。
:d
匹配表达式([0-9])。
匹配任意数字,如“4”和“6”。
十六进制数
:h
匹配表达式([0-9a-fA-F])。
匹配任何十六进制数,如“1A”、“ef”和“007”。
有理数
:n
匹配表达式(([0-9])。[0-9] *) | ([0-9] *.[0-9]) | ([0-9])).
匹配任意有理数,如“2007”、“1.0”和“. 9”。
字母串
:w
匹配表达式([a-zA-Z])。
匹配任何只包含字母字符的字符串。
换码符
e
UnicodeU 001B .
匹配转义控制字符。
铃
g
UnicodeU 0007 .
匹配“铃”控制字符。
退格
h
UnicodeU 0008 .
匹配“退格”控制字符。
制表符
t
UnicodeU 0009 .
制表符匹配。
Unicode字符
x####或u####。
匹配Unicode值给出的字符,其中# # # #是十六进制数。您可以使用一个ISO10646码点或两个提供代理项对值的Unicode码点来指定基本多语言平面之外的字符(即代理项)。
u0065匹配字符“e”。
下表列出了用于指定Unicode字符属性数据库中列出的常见类别的两个字母缩写。您可以在正则表达式字符集中使用这些缩写。例如,表达式[:nd:nl3360no]匹配任何类型的数字。
表示
语法
解释
大写字母
:路
匹配任何大写字母。例如:
:他匹配“该”,但不匹配“该”。
小写字母
:升
匹配任何小写字母。例如:
:Llhe匹配“the”,但不匹配“The”。
首大写字母
:升
匹配大小写字母组合的字符,例如Nj和Dz。
修饰字母
:毫米
匹配的字母或标点符号,如逗号、交叉重音和双撇号,用于指示对前一个字母的修改。
其他信件
:Lo
匹配其他字母,如哥特字母ahsa。
小数。
:Nd
匹配十进制数(如0-9)及其双字节等效数。
含字母和数字的
:Nl
匹配字母数字字符,如罗马数字和表意零。
其他数字
:No
匹配其他数字,例如旧的斜体数字1。
开始标点符号。
:Ps
匹配起始标点符号,如方括号和大括号。
结束标点符号。
:Pe
匹配结束标点符号,如右括号和右大括号。
开引号
:Pi
匹配开双引号。
右引号
:Pf
匹配单引号和右双引号。
破折号
:Pd
匹配虚线标记。
连接符号
:Pc
匹配下划线标记。
其他标点符号
:Po
匹配(,'、@、#、%、*、、(:)、(;)、'和/。
空白分隔符
:Zs
匹配空白。
行分隔符
:Zl
匹配Unicode字符U 2028。
段落分隔符
:Zp
匹配Unicode字符U 2029。
无间隔标记
:兆牛顿
不匹配间隔标记。
组合标记
:Mc
匹配标记。
封闭标记
:Me
匹配标记。
数学符号
:毫米
匹配、=、~、|、和。
美元符
:摄氏度
将$与其他货币符号匹配。
装饰符号
:Sk
匹配修饰符,如抑扬顿挫、抑扬顿挫和长音符。
其他符号
:So
匹配其他符号,如版权符号、段落标记和学位符号。
其他控制
:Cc
匹配Unicode控制字符,如制表符和换行符。
其他格式
:Cf
格式化控制字符,如双向控制字符。
代理项目
:Cs
匹配代理项对的一半。
其他私人用途
:Co
匹配私有区域中的任何字符。
其他未分配的字符。
:Cn
匹配未映射到Unicode字符的字符。
除了标准的Unicode字符属性,您还可以指定以下属性作为字符集的一部分。
表示
语法
解释
希腊字母的第一个字母
:铝
匹配任何一个字符。
例如,Alhe匹配“The”、“then”和“reached”等单词。
数值
:牛
匹配任何数字或数字。
强调
:Pu
匹配任何标点符号,例如?@、'等等。
空白区
:瓦时
匹配所有类型的空格,如印刷体和表意空格。
双向的
:Bi
匹配从右向左书写的字符,如阿拉伯语和希伯来语。
韩国人。
:公顷
匹配韩文和组合韩文字母。
平假名
:嗨
匹配平假名字符。
片假名
:Ka
匹配片假名字符。
表意文字/汉字/汉字。
:Id
匹配表意字符,如汉字和汉字。
00-1010以下通配符在表达式生成器中可用。
表示
语法
解释
任何一个字符。
?
匹配任何一个字符。
任何数字。
#
匹配任何数字。例如,7#匹配一个数字,该数字包括7后跟另一个数字,如71,但不包括17。
不在字符集中的字符。
[!]
匹配字符集中未指定的任何字符。
换码符
根据原始含义匹配反斜杠()后的字符。这允许您查找通配符符号中使用的字符,如*和#。
一个或多个字符。
*
匹配零个或多个字符。例如,new*匹配包括“new”在内的任何文本,如newfile.txt
字符集
[]
匹配字符集指定的任何一个字符。