asp.net正则表达式

导入引用命名空间: using  System.Text.RegularExpressions
              
             //Regex类,常用方法:
              
             //摘要:1.IsMatch(String);2.IsMatch(String, Int32);3.IsMatch(String, String);4.IsMatch(String, String, RegexOptions);5.IsMatch(String, String, RegexOptions, TimeSpan)
             //返回结果:如果正则表达式找到匹配项,则为 true;否则,为 false。
             //应用实例:验证邮政编码(5个数字)
             bool  bl1 = new  Regex( @"^\d{5}$" ).IsMatch( "55720" );  //结果:True
 
             bool  bl2 = new  Regex( @"^[A-Za-z0-9]$" ).IsMatch( "a55b720" , 2);  //结果:False
 
             bool  bl3 = Regex.IsMatch( "55720" , @"^\d{5}$" );      //结果:True
             
             //Success属性
             Match match = regex.Match(input);
             while  (match.Success) {
                   // Handle match here...
                   match = match.NextMatch();
            
 
             bool  bl4 = Regex.IsMatch( "55720" , @"^\d{5}$" , RegexOptions.IgnoreCase); //结果:True
             
             //摘要:1.Match(String);2.Match(String, Int32);3.Match(String, String);4.Match(String, Int32, Int32);5.Match(String, String, RegexOptions);
             //返回结果:一个对象,包含有关匹配项的信息。
             //应用实例:取得网页标题  
             string  str = Regex.Match( "<title>贵源网络</title>" , "<title>([^<]*)</title>" , RegexOptions.IgnoreCase | RegexOptions.Multiline).Groups[1].Value;  //结果:贵源网络
             //注意:Regex.Match方法得到的Groups的索引是从1开始的,而不是从0开始的
           
 
             //摘要:1.Matches(String);2.Matches(String, Int32);3.Matches(String, String);4.Matches(String, String, RegexOptions);5.Matches(String, String, RegexOptions, TimeSpan);
             //返回结果:如果在输入字符串中发现包含任何或全部匹配,则返回匹配集合对象。
             //应用实例:遍历匹配字符串的值和项
             foreach  (Match m in  Regex.Matches( "ababb" , "a*" ))
             {
                 Response.Write(String.Format( "{0}-{1}," , m.Value, m.Index));    //结果:a-0,-1,a-2,-3,-4,-5,
             }
             
 
             //摘要:
             //1.Replace(String, String);2.Replace(String, MatchEvaluator);3.Replace(String, String, Int32);4.Replace(String, String, String);5.Replace(String, String, MatchEvaluator);
             //6.Replace(String, MatchEvaluator, Int32);7.Replace(String, String, Int32, Int32);8.Replace(String, String, String, RegexOptions);9.Replace(String, String, MatchEvaluator, RegexOptions);
             //10.Replace(String, MatchEvaluator, Int32, Int32);11.Replace(String, String, String, RegexOptions, TimeSpan);12.Replace(String, String, MatchEvaluator, RegexOptions, TimeSpan)
             //返回结果:用给定的替换字符串替换输入字符串中的匹配。
             //应用实例: 替换字符串 " ",将其用单个空格字符代替。
             string  str1 = new  Regex( @"\s+" ).Replace( "This   is    text" , " " ); //结果:This is text
            
             //string str2 = new Regex(@"\w+").Replace("four score and seven years ago", new MatchEvaluator("CapText"));
 
             string  str3 = new  Regex( "(\\w)\\1" ).Replace( "a1b2c3d4f5" , "$1" , 5);  //结果:a1b2c3d4f5
 
             string  str4 = Regex.Replace( "This is   text" , "\\s+" , " " ); //结果:This is text
             
             //摘要:1.Regex.Split (String);2.Regex.Split (String, Int32);3.Regex.Split (String, String);4.Regex.Split (String, Int32, Int32);5.Regex.Split (String, String, RegexOptions)
             //返回结果:将输入字符串拆分成用正则表达式匹配分开的数组元素时,返回数组字符串。
             //应用实例:以'-'为一组进行分隔成数组
             int  len1 = new  Regex( "(-)" ).Split( "one-two-three" ).Length;  //结果:3
 
             int  len2 = new  Regex( @"\d+" ).Split( "123ABCDE456FGHIJKL789MNOPQ012" , 3).Length;    //结果:3
 
             int  len3 = Regex.Split( "plum-pear" , "-" ).Length;   //结果:2
 
             //结果:, ABCDE, FGHIJ789KLMNO012PQRST
             Regex rgx = new  Regex( @"\d+" );
             string  input = "123ABCDE456FGHIJ789KLMNO012PQRST" ;
             Match m = rgx.Match(input);
             if  (m.Success)
             {
                 string [] result = rgx.Split(input, 3, m.Index);
                 for  ( int  ctr = 0; ctr < result.Length; ctr++)
                 {
                     Response.Write(result[ctr]);
                     if  (ctr < result.Length - 1)
                         Response.Write( ", " );
                 }
             }
 
             int  len5 = Regex.Split( "Abc1234Def5678Ghi9012Jklm" , "[a-z]+" , RegexOptions.IgnoreCase).Length; //结果:1
             
             //Regex类,常用属性
              
             Compiled
             当在循环中执行许多匹配操作时使用此选项。这可以节省每一循环的分析表达式步骤。
 
             Multiline
             它与输入字符串中的行数没有关系。确切地说,它只修改 ^ 和 $ 的方式,以便匹配行开始 (BOL) 和行结尾 (EOL),而不是匹配整个输入字符串的开始和结尾。
 
             IgnoreCase
             使模式在匹配搜索字符串时忽略大小写。
 
             IgnorePatternWhitespace
             允许根据需要在模式中包括任意数量的空白区域,也支持使用 (?# 注释 #) 语法在模式中加入注释。
 
             SingleLine
             它与输入字符串中的行数没有关系。更确切地说,它将导致 .(句点)元字符匹配任意字符,而不是除 \n 之外的任意字符(默认情况)。

sp.net 验证正则表达式

整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$
只能输入数字:"^[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之间,只能包含字符、数字和下划线。
验证是否含有^%&'',;=?$\"等字符:"[^%&'',;=?$\x22]+"。
只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"
验证Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。
验证InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
验证电话号码:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正确格式为:"XXX-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"。整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$
只能输入数字:"^[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之间,只能包含字符、数字和下划线。
验证是否含有^%&'',;=?$\"等字符:"[^%&'',;=?$\x22]+"。
只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"
验证Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。
验证InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
验证电话号码:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正确格式为:"XXX-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"。

分享到: 百度 更多

猜你喜欢

转载自www.cnblogs.com/qqhfeng/p/9231046.html