C# 正则表达式

正则表明式到底是什么事物?
在编排处理字符串的顺序或网页时,常常会有追寻符合有个别复杂规则的字符串的内需。正则表达式正是用以描述那一个规则的工具。换句话说,正则表明式正是记录文本规则的代码。
常用元字符

代码 说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束

常用限定符

代码/语法 说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次

常用反义词

代码/语法 说明
\W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符

(一)、在线正则表达式测试:http://tool.chinaz.com/regex/

 

(贰)、下载地址:http://visualstudiogallery.msdn.microsoft.com/55c24bf1-2636-4f94-831d-28db8505ce00/

一. 正则表明式插件

  当大家输入 : Regex r = new Regex(
的左手括号时,就会活动弹出格局窗口:

  正则表明式都有提醒

C# 1

  

 

  能够平素测试正则表明式的准头

 

 

eg:\d{陆,} 表示的是输入字符串中得以把带有6个数字或更加多的数字以上。

eg:       string str1 = “DD123456”;
            if (Regex.IsMatch(str1, @”\d{6,}”))
            {
               
            }

           string str2 = “123456DD”;
            if (Regex.IsMatch(str2, @”\d{6,}”))
            {
               
            }

 以上之所以满意条件正是因为从没对字符串的开始和了结举办封锁。请以往必要进行注意。

^\d{六,}$表示的是输入字符串中只可以分包陆个数字或越来越多的数字以上。

正则表达式是分别轻重缓急写的。

C# 2

 

广泛的数字证实正则表明式整理
详见出处参考:http://www.jb51.net/article/20839.htm

证实数字的正则表明式集
注脚数字:^[0-9]*$
表明n位的数字:^\d{n}$
证实至少n位数字:^\d{n,}$
注明m-n位的数字:^\d{m,n}$
验证零和非零从头的数字:^(0|[1-9][0-9]*)$
表达有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
证实有1-肆人小数的正实数:^[0-9]+(.[0-9]{1,3})?$
证实非零的正整数:^\+?[1-9][0-9]*$
申明非零的负整数:^\-[1-9][0-9]*$
表达非负整数(正整数 + 0) ^\d+$
验证非正整数(负整数 + 0) ^((-\d+)|(0+))$
证实长度为三的字符:^.{三}$
证明由二伍个英文字母组成的字符串:^[A-Za-z]+$
表明由贰多少个大写英文字母组成的字符串:^[A-Z]+$
注脚由二多少个小写英文字母组成的字符串:^[a-z]+$
表明由数字和二多少个英文字母组成的字符串:^[A-Za-z0-9]+$
申明由数字、二陆个英文字母大概下划线组成的字符串:^\w+$
注明用户密码:^[a-zA-Z]\w{5,17}$
正确格式为:以字母初始,长度在六-1八里边,只可以分包字符、数字和下划线。
证实是或不是含有 ^%&’,;=?$\C#,” 等字符:[^%&’,;=?$\x22]+
证实汉字:^[\u4e00-\u9fa5],{0,}$
验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
验证InternetURL:^http://(\[\\w-\]+\\.)+\[\\w-\]+(/\[\\w-./?%&=\]\*)?$
;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
注脚电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,八}$:–正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
申明身份证号(壹五人或十七个人数字):^\d{15}|\d{}18$
证贝拉米(Bellamy)(Beingmate)年的13个月:^(0?[1-9]|1[0-2])$
正确格式为:“0①”-“0玖”和“一”“1贰”
证澳优(Ausnutria Hyproca)个月的3一天:^((0?[1-9])|((1|2)[0-9])|30|3壹)$
正确格式为:0一、0九和壹、31。
整数:^-?\d+$
非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$
正浮点数
^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$
负浮点数
^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮点数 ^(-?\d+)(\.\d+)?$

 

正则表达式表示任意字符  

 \s是相称全数空白字符,\S是11分全数非空白字符,那么[\s\S]以此组合就可以合作全体字符了。

[\s\S*固然不管三7二101多少个字符,即正是任何字符串

相关文章