C#C# 正则表达式

正则表达式到底是呀事物?
在编辑处理字符串的主次要网页时,经常会面出追寻符合某些复杂规则之字符串的得。正则表达式就是用来描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。
常用状元字符

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

常用限定符

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

常用反义词

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

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

 

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

1. 正则表达式插件

  当我们输入 : Regex r = new Regex(
的左括号时,就会自行弹出模式窗口:

  正则表达式都出提醒

C# 1

  

 

  可以一直测试正则表达式的准头

 

 

eg:\d{6,} 表示的凡输入字符串遭遇得以管带有6个数字或者更多的数字以上。

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

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

 以上之所以满足条件就是因没有对准字符串的开跟终结进行封锁。请后要进行注意。

^\d{6,}$表示的是输入字符串丁只能分包6只数字还是还多的数字以上。

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

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-3各项小数的正实数:^[0-9]+(.[0-9]{1,3})?$
说明非零的正整数:^\+?[1-9][0-9]*$
证非零的负整数:^\-[1-9][0-9]*$
征非负整数(正整数 + 0) ^\d+$
验证非正整数(负整数 + 0) ^((-\d+)|(0+))$
证长度为3之字符:^.{3}$
征由26单英文字母组成的字符串:^[A-Za-z]+$
证实由26只大写英文字母组成的字符串:^[A-Z]+$
证由26个小写英文字母组成的字符串:^[a-z]+$
证明由数字与26独英文字母组成的字符串:^[A-Za-z0-9]+$
说明由数字、26单英文字母或者下划线组成的字符串:^\w+$
征用户密码:^[a-zA-Z]\w{5,17}$
正确格式为:以字母开头,长度在6-18之内,只能分包字符、数字和下划线。
证明是否包含 ^%&’,;=?$\” 等字符:[^%&’,;=?$\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,8}$:–正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
证明身份证号(15个还是18个数字):^\d{15}|\d{}18$
说明一年的12个月:^(0?[1-9]|1[0-2])$
正确格式为:“01”-“09”和“1”“12”
证实一个月份之31上:^((0?[1-9])|((1|2)[0-9])|30|31)$
正确格式为:01、09与1、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是相当有非空白字符,那么[\s\S]这个组合就足以配合有字符了。

[\s\S*尽管不管三七二十一多独字符,即就是任何字符串

相关文章