C#常用正则表达式

C#常用正则表达式

  (2010-12-27 23:25:02)
标签: 

c

 

字符串

 

浮点数

 

正则表达式

 

it

分类: 心得积累

-、"^"头匹配
  ^front表示以"front"开头的字符串。


二、"$"尾匹配
  tail$表示以"tail"结尾的字符串。

 


三、转义序列
  所有转义序列都用"\"打头。如"^"、"$"、"+"、"("、")"在表达式中都有特殊意义,所以在正则表达式中也用"\^"、"\$"、"\+"、"\("、"\)"来表示。


四、字符簇
  [a-z]匹配小写字符;[A-Z]匹配写字符;[a-zA-Z]匹配所有字符;[0-9]匹配所有数字;[\.\-\+]匹配所有句号,减号和加号;[^a-z]除了小写字母以外的成有字符;^[^a-z]第一个字符不能是小写字母;[^0-9]除了数字以外的所有字符;


五、重复
  ^a{4}$表示aaaa;^a{2,4}表示aa,aaa或aaaa;^a{2,}表示多于两个a的字符串;.{2}表示所有的两个字符;

 

 

下面举两个常用例子说明:

 

1、Email的验证
  要求:
  (1)必须包含一个"@"
  (2)在"@"后面的字符串至少包含一个"."号
  (3)"@"前面和后面的字符串由一个或一个以上字母、数字、下划线或减号构成
  根据这几条规则,可以与出以下正则表达式:
  ^[a-zA-Z0-9_\-]{1,}@[a-zA-Z0-9_\-]{1,}\.[a-zA-Z0-9_\-.]{1,}$
 或者:
  \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

 

2、电话号码的验证
  要求:
  (1)电话号码由数字、"("、")"和"-"构成
  (2)电话号码为3到8位
  (3)如果电话号码中包含有区号,那么区号为三位或四位
  (4)区号用"("、")"或"-"和其他部分隔开
  (5)移动电话号码为11或12位,如果为12位,那么第一位为0
  (6)11位移动电话号码的第一位和第二位为"13"
  (7)12位移动电话号码的第二位和第三位为"13"
  根据这几条规则,可以与出以下正则表达式:
  (^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)

 

 

整数或者小数:^[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}$"。
只能输入长度为3至20位的字符:"^\w{3,20}$"。
只能输入由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-./?%&=]*)?$"。


验证电话号码:"^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$" 正确格式XXXX-XXXXXXXX-XXXX。


验证身份证号(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) 
"^[0-9]*[1-9][0-9]*$"  //正整数 
"^((-\d+)|(0+))$"  //非正整数(负整数 + 0) 
"^-[0-9]*[1-9][0-9]*$"  //负整数 
"^-?\d+$"    //整数 
"^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 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+)?)|(0+(\.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+)?$"  //浮点数 
"^[A-Za-z]+$"  //由26个英文字母组成的字符串 
"^[A-Z]+$"  //由26个英文字母的大写组成的字符串 
"^[a-z]+$"  //由26个英文字母的小写组成的字符串 
"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串 
"^\w+$"  //由数字、26个英文字母或者下划线组成的字符串 
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址 
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url 

使用以上的正则表达式时,需要把前后的引号去掉。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#中,星号(*)是正则表达式中的特殊字符之一。星号表示匹配前面的元素零次或多次。在正则表达式中,可以通过在模式中使用星号来匹配任意数量的重复字符或子模式。 例如,如果我们有一个字符串"abbbbcccdd",我们可以使用正则表达式"ab*c"来匹配这个字符串中的"abbbbccc"部分。在这个表达式中,星号表示匹配前面的字符'b'零次或多次。因此,它会匹配任意数量的'b'字符。 以下是一个使用星号的C#正则表达式示例: ``` using System; using System.Text.RegularExpressions; public class Program { public static void Main() { string input = "abbbbcccdd"; string pattern = "ab*c"; Regex rgx = new Regex(pattern); Match match = rgx.Match(input); if (match.Success) { Console.WriteLine("匹配成功!"); } else { Console.WriteLine("匹配失败!"); } } } ``` 在这个示例中,正则表达式"ab*c"匹配一个以'a'开头,以'c'结尾,中间可以有任意数量的'b'字符的字符串。因此,它会输出"匹配成功!"。 请注意,为了在C#中使用正则表达式,我们需要引入命名空间System.Text.RegularExpressions,并使用Regex类来实例化正则表达式对象。然后,我们可以使用Match方法来检查输入字符串是否与模式匹配。 希望以上信息对您有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [C# 正则表达式替换身份证号中间部分为星号](https://blog.csdn.net/weixin_40508362/article/details/108054301)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [几个C#常用正则表达式的总结](https://download.csdn.net/download/weixin_38667207/14008486)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值