首页 >> WEB开发

C#编程中经常使用的正则表达式

2010-07-10 23:58:35

 在C#编程与学习,我们会经常用到正则表达式,下面为大家提供商一些经常使用的正则表达式:

经常使用的正则表达式:

^[1-9]d*$    //匹配正整数
^-[1-9]d*$   //匹配负整数
^-?[1-9]d*$   //匹配整数
^[1-9]d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮点数
^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配负浮点数
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮点数
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正
匹配特定字符串:
^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^w+$  //匹配由数字、26个英文字母或者下划线组成的字符串
 
 
 
 
只能输入数字:"^[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]*$" 
 
只能输入长度位 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之间,只能包含字符、数字和下划线 
 
验证是否含有非法字符 ^(?:[u4e00-u9fa5]*w*s*)+$ 
 
只能输入汉字:"^[u4e00-u9fa5]{0,}$" 
 
验证 Email 地址:"^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$" 
 
验证 InternetURL:"^http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?$" 
 
 
中国电话号码验证  
匹配形式如:0511-4405222 或者021-87888822 或者 021-44055520-555 或者 (0511)4405222  
正则表达式 "((d{3,4})|d{3,4}-)?d{7,8}(-d{3})*"  
 
中国邮政编码验证  
匹配形式如:215421  
正则表达式 "d{6}"  
 
电子邮件验证  
匹配形式如:justali@justdn.com  
正则表达式 "w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*"  
 
身份证验证  
匹配形式如:15位或者18位身份证  
正则表达式 "d{18}|d{15}"  
 
常用数字验证  
正则表达式   
"d{n}" n为规定长度  
"d{n,m}" n到m的长度范围  
 
非法字符验证  
匹配排除非法字符的字符如:  
正则表达式 ^(?:[u4e00-u9fa5]*w*s*)+$ 
 
日期验证  
匹配形式如:20030718,030718  
范围:1900--2099  
正则表达式((((19){1}|(20){1})d{2})|d{2})[01]{1}d{1}[0-3]{1}d{1} 
 
 
使用实例: 
 
   string msg=""; 
   Regex myreg=new Regex(@"^(?:[u4e00-u9fa5]*w*s*)+$"); //屏蔽非法字符 
   if(myreg.IsMatch(t_name.Text)) 
    msg="用户名格式正确!"; 
   else 
    msg="用户名中不能含有非法字符!"; 
   myreg=new Regex(@"^[a-zA-Z]w{5,17}$"); 
   if(myreg.IsMatch(t_pwd.Text)) 
    msg+="rn密码格式正确!"; 
   else 
    msg+="rn密码必须以字母开头,长度在6~18之间,只能包含字符、数字和下划线"; 
   MessageBox.Show(msg);