正则表达式的应用

正则表达式的应用

开发工具与关键技术:.NET、Visual Studio
正则表达式是一门灵活性非常强的语言,匹配同样的字符串可能在不同的开发人员那里会得到不同的结果。程序员可以利用C#进行正则式的编程。
在.NET中提供了对正则表达式的支持,并且提供了相关的类:
Regex:正则表达式类,代表了一个不可变的正则表达式。
Match:代表了 Regex类的实例的一次匹配结果,可以通过Regex的Match()实例方法返回一个Match的实例。
MatchCollection:代 表了Regex类的实例的所有匹配结果,可以通过Regex的Matches()实例方法返回一个MatchCollection的实例。
Group: 表示单个捕获组的结果。由于一次匹配可能包含0个、1个或多个分组,所以Match的实例中返回的是捕获组集合的结果,即 GroupCollection。
GroupCollection:表示单个匹配中的多个捕获组的集合,可以通过Match的Groups实例属 性返回GroupCollection的实例。
Capture:表示单个捕获中的一个子字符串。同Group一样,由于一个捕获中可能包含0个、 1个或多个子字符串,所以Group的实例中返回的是子字符串集合的结果,即CaptureCollection。
CaptureCollection: 默认表示按照从里到外、从左到右的顺序由捕获组匹配到的所有子字符串集合,可以通过Group或者Match的Captures实例属性返回 CaptureCollection的实例。注意,可以使用RegexOptions.RightToLeft来改变这种匹配顺序。
RegexOptions: 提供用于设置正则表达式选项的枚举值。
下面是正则表达式的一些应用:
只能输入数字:"1*$"。

只能输入n位的数字:"^\d{n}$"。

只能输入至少n位的数字:"^\d{n,}$"。

只能输入m~n位的数字:。"^\d{m,n}$"

只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。

只能输入有两位小数的正实数:"2+(.[0-9]{2})?$"。

只能输入有1~3位小数的正实数:"3+(.[0-9]{1,3})?$"。

只能输入非零的正整数:"^+?[1-9][0-9]*$"。

只能输入非零的负整数:"^-[1-9][]0-9"*$。

只能输入长度为3的字符:"^.{3}$"。

只能输入由26个英文字母组成的字符串:"4+$"。

只能输入由26个大写英文字母组成的字符串:"5+$"。

只能输入由26个小写英文字母组成的字符串:"6+$"。

只能输入由数字和26个英文字母组成的字符串:"7+$"。

只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"。

验证用户密码:"8\w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。

验证是否含有^%&’,;=?KaTeX parse error: Can't use function '\"' in math mode at position 1: \̲"̲等字符:"[^%&’,;=?\x22]+"。

只能输入汉字:"9{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”。


  1. 0-9 ↩︎

  2. 0-9 ↩︎

  3. 0-9 ↩︎

  4. A-Za-z ↩︎

  5. A-Z ↩︎

  6. a-z ↩︎

  7. A-Za-z0-9 ↩︎

  8. a-zA-Z ↩︎

  9. \u4e00-\u9fa5 ↩︎

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值