0
点赞
收藏
分享

微信扫一扫

C#之正则表达式

八怪不姓丑 2022-02-23 阅读 130

正则表达式又称规则表达式,正则表通常用来检查、检索、替换那些符合某个模式(规则)的文本

命名空间: using System.Text.RegularExpressions;

System.Text.RegularExpressions.Regex 类

静态方法:

Regex .IsMatch(检测的字符,正则表达式) // “匹配” (是否符合正则表达式),返回值为bool类型

MatchCollection Array=Regex.Matches(检测的字符,正则表达式) //匹配,然后返回符合标准的字符为数组

Regex .Replace(原字符串,正则表达式,替换的字符) //"替换"

Regex .Split(原字符串,正则表达式) "拆分"

一般在正则表达式前,常应用@,表示不解析转义。 例如转义字符“ \r\n、

基础语法元字符

1) ^ ”定位‘元字符,表示开头

2)$ “定位“元字符,表示结尾

3). 表示任意字符(换行符除外)

4)\w 表示字母、数字、下划线、汉字

5)\W 表示’\w‘的补集

6)\s 表示任意空白符(包括\n换行 \r回车 \t制表 \v垂直制表符 \f换页符)

7)\S 表示’\s’的补集

8)\d表示数字

9)\D表示非数字

“包含“与”非“元字符

[abc] 表示匹配括号中的字符

[a-c] 表示a字符到c字符之间的字符

[^X] 表示匹配除了X以外的字符

[^abcd] 表示匹配除了abcd以外的任意字符

重复描述字符

1){n} 匹配前面的字符n次

2){n,} 匹配前面的字符n次或多余n次

3){n,m} 匹配前面字符n到m次

4) ? 匹配零次或者一次

5)+ 匹配一次或者更多次

6)* 重复零到多个元字符,或表示重复零次或者更多次(即:重复前面的次数)

”或运算“与小括号

1)| 将两个匹配条件进行逻辑”或“运算

2)() 用小括号来指定子表达式(也就是分组)

常用的正则表达式

校验E-Mail地址

 @"[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])? "

校验身份证号码

@"^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$"

校验金额

金额校验,精确到2位小数

@"^[0-9]+(.[0-9]{2})?$"

校验日期

"yyyy-mm-dd"格式的日期校验,已考虑闰年 (其他格式百度一搜就能搜到)

@"^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$"

校验手机号

国内13、15、18开头的手机号正则表达式

@"^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\d{8}$"
举报

相关推荐

0 条评论