正则详细教程系列可以看此链接的文章哦
https://www.cnblogs.com/poloyy/category/1796055.html
量词(限定符)
代码/语法 | 说明 |
* |
重复 0 次或更多次 |
+ |
重复 1 次或更多次 |
? |
重复零次或一次 |
{n} |
重复n次 |
{n,} |
重复n次或更多次 |
{n,m} |
重复n到m次 |
- 简单来说,限定符就是可以让元字符重复匹配
- 毕竟每个元字符只能匹配一个字符,如果要匹配 100 个字符,难道要写 100 个元字符吗
- 这个时候用上元字符 + 限定符就可以解决这个问题了
* 的栗子
应该是最常用的限定符了
first
匹配文本 |
yy12菠萝 |
正则表达式 |
w* |
匹配数量 |
1 |
匹配结果 |
yy12 |
second
匹配文本 |
yy1_菠 |
正则表达式 |
.1* |
匹配数量 |
4 |
匹配结果 |
y、y1、_、菠 |
third
匹配文本 |
yy_菠萝 |
正则表达式 |
d*w* |
匹配数量 |
1 |
匹配结果 |
yy_ |
+ 的栗子
first
匹配文本 |
yy12菠萝 |
正则表达式 |
w+ |
匹配数量 |
1 |
匹配结果 |
yy12 |
second
匹配文本 |
yy1112菠萝 |
正则表达式 |
.1+ |
匹配数量 |
1 |
匹配结果 |
y111 |
记住,限定符只对它前面一个元字符生效,这里是 1 ,所以是匹配一个 1 或者多个 1
third
匹配文本 |
yy_菠萝 |
正则表达式 |
d+w+ |
匹配数量 |
0 |
原因 |
d 起码需要匹配到一个数字,但没有 |
? 的栗子
first
匹配文本 |
yy12菠 |
正则表达式 |
w? |
匹配数量 |
6 |
匹配结果 |
y、y、1、2、空、空 |
second
匹配文本 |
yy_12菠萝 |
正则表达式 |
._?.* |
匹配数量 |
1 |
匹配结果 |
yy_12菠萝 |
_ 可有可无
third
匹配文本 |
yy_121_2菠萝 |
正则表达式 |
d?. |
匹配数量 |
7 |
匹配结果 |
y、y、_ 、12、1_ 、2菠、萝 |
{n} 的栗子
first
匹配文本 |
yy12菠萝测试 |
正则表达式 |
y{2}d{1}w.{2} |
匹配数量 |
1 |
匹配结果 |
yy12菠萝 |
second
匹配文本 |
13501489999 |
正则表达式 |
^135d{8}$ |
匹配数量 |
1 |
匹配结果 |
13501489999 |
third
匹配文本 |
023-81200222、023-81200223、023-81200224 |
正则表达式 |
0d{2}-d{8} |
匹配数量 |
3 |
匹配结果 |
023-81200222
023-81200223
023-81200224
|
{n,} 的栗子
first
匹配文本 |
poloyy |
正则表达式 |
y{1,} |
匹配数量 |
1 |
匹配结果 |
yy |
second
匹配文本 |
13501489999 |
正则表达式 |
^135d{1,}$ |
匹配数量 |
1 |
匹配结果 |
13501489999 |
third
匹配文本 |
023-81200222、023-81200223、023-81200224 |
正则表达式 |
0d{1,}-d{1,} |
匹配数量 |
3 |
匹配结果 |
023-81200222
023-81200223
023-81200224
|
{n,m} 的栗子
first
匹配文本 |
poloyy菠萝 |
正则表达式 |
yy菠1{0,1} |
匹配数量 |
1 |
匹配结果 |
yy菠 |
second
匹配文本 |
13501489999 |
正则表达式 |
^135d{1,8}$ |
匹配数量 |
1 |
匹配结果 |
13501489999 |
third
匹配文本 |
023-81200222、023-81200223、023-81200224 |
正则表达式 |
0d{1,2}-d{1,8} |
匹配数量 |
3 |
匹配结果 |
023-81200222
023-81200223
023-81200224
|