正则表达式基本语法.Net/ASP开发工程师

/ 集美大学传播学院.Net/ASP开发工程师 / 2016-07-18

正则表达式


正则表达式,又称正规表示法、常规表示法。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。在长字符串中使用正则表达式来进行字符串检索替换等效率要比一般的方式高的多。


一些基本语法:

. 表示匹配/n之外的任何单个字符

[ ] 字符组,表示匹配括号中的任意一个字符

| 逻辑或运算

^ 表示所匹配的字符串必须以该符号后面的那个字符为开头,在[^]中表示非的意思

$ 表示所匹配的字符串必须以前一个字符为结尾

() 和数学的加法用法一样,提高优先级。另外一个作用是提取组

/d 表示0-9

/D 表示数字之外

/w [a-zA-Z0-9_]这些字符

/W 除了以上以外的所有字符

/s 所有不可见字符

/S 除了以上以外的所有字符

/1 /2 /3 引用提取组


[0-9]{4} 表示0到9之间的数字一定要出现4次

[0-9]{4,} 表示0到9之间的数字至少出现0-9之间的数字4次,上不封顶

[0-9]{4,9} 表示0到9之间的数字至少出现4次,至多出现9次


(?= )a正向环视,表示a字符的右边必须为空格

(?<!= )a逆向环视,a的左边一定不是空格


正则表达式


一些注意的地方:

1.为了不影响效率,尽量少用或'|'来进行检索。

2.若是使用Regex.Match来检索或者提取字符串时,只能匹配第一个相符的字符串。

3.提取多个字符串用Regex.Matches,返回的是一个MatchCollection的集合。

4.只要出现了"()"括号就表示对括号里的内容进行了分组,所以小括号既有改变优先级的作用,又具有提取组的功能。

5.在提取组时,可以使用item.Group[i].Value来表示第i个组,从左往右数,第一个左括号代表第一组,以此类推。

6.简单的操作可以直接用字符串操作的就不要用正则表达式,因为这些方式以及是很高效的算法了,用正则表达式反而影响效率。



正则表达式


公众号,微信

汇鱼网海峡创乐汇
汇鱼网海峡创乐汇