^:匹配一个字符串的开头
$:匹配一个字符串的的结尾
//中括号的应用
[]:匹配一位字符,这一位字符可以是这个中括号中的任何一个
[1-9],[a-z],[A-Z],[A-Za-z1-9]:匹配中括号中任意一个
[^1-9]这一位字符可以是[1-9]之外任何字符
例子:
Regex r=new Regex(“1ello world$”);
bool result=r.IsMatch(“cello world”),判断首字符是否和中括号中任何一个字符匹配。
//判断出现次数
+:前面得一位字符连续出现了1次或多次
*:前面得一位字符连续出现了0次或多次
?:前面得一位字符连续出现了0次或1次
{m}:前面得一位字符连续出现了m次
{m,}:前面得一位字符至少连续出现了m次
{m,n}:前面得一位字符至少连续出现了大于等于m次小于等于n次
例子:
Regex r=new Regex("^Hel+o$");
bool result=r.IsMatch(“Hello”)
Regex r=new Regex("^Hel[3]o$");
bool result=r.IsMatch(“Helllo”)
Regex r=new Regex("^Hel[3,]o$");
bool result=r.IsMatch(“Helllo”)
Regex r=new Regex("^Hel[3,5]o$");
bool result=r.IsMatch(“Hellllo”)
//特殊字符
\d 等价[0-9]
\D 等价[^0-9]
.:通配符 可以匹配任意字符
//():表示一个分组
//1、判断手机号合法
//正则
string pattern="^1[345678]\d{9}
"
r
e
t
u
r
n
R
e
g
e
x
.
I
s
M
a
t
c
h
(
n
u
m
b
e
r
,
p
a
t
t
e
r
n
)
;
/
/
2
、
判
断
邮
箱
是
否
合
法
/
/
正
则
s
t
r
i
n
g
p
a
t
t
e
r
n
=
"
[
0
−
9
a
−
z
A
−
Z
.
]
+
@
[
0
−
9
a
−
z
A
−
Z
]
+
.
c
o
m
" return Regex.IsMatch(number,pattern); //2、判断邮箱是否合法 //正则 string pattern="^[0-9a-zA-Z\\.]+@[0-9a-zA-Z]+\\.com
"returnRegex.IsMatch(number,pattern);//2、判断邮箱是否合法//正则string pattern="[0−9a−zA−Z.]+@[0−9a−zA−Z]+.com"
return Regex.IsMatch(number,pattern);
//3、替换字符串
//正则
string pattern="{2,}" 匹配连续出现两次以上字符
Regex.Replace(string,pattern,",") 1、传入字符串,2正则规则,3、替换字符
//4、屏蔽手机号中间四位
//分组:可以将字符串分成几部分
//():表示一个分组
string pattern="^(1[345678]\d)(\d{4})(\d{4})$"
//获取每个分组的字符串
Match match=Regex.match(string,pattern);
GroupCollection groups=match.Groups;
string group1=groups[1].Value;
string group2=groups[2].Value;
string group3=groups[3].Value;
return group1+"****"+group3;
abcd ↩︎