全网最易懂的正则表达式教程(3)- 量词

正则详细教程系列可以看此链接的文章哦

//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

匹配文本 yy12_菠萝
正则表达式 .1*
匹配数量 1
匹配结果 yy12_菠萝

 

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?
匹配数量 1
匹配结果 yy12

 

second

匹配文本 yy12菠萝
正则表达式 ._?.*
匹配数量 1
匹配结果 yy12菠萝

_ 可有可无

 

third

匹配文本 yy_121_2菠萝
正则表达式  \d?. 
匹配数量 7
匹配结果 y、y、_ 、12、1_ 、2菠、萝

 

{n} 的栗子

first

匹配文本 yy12菠萝测试
正则表达式  y{2}\d{1}\w.{2} 
匹配数量 1
匹配结果 yy12菠萝

 

second

匹配文本 13501489999
正则表达式 ^135\d{8}$
匹配数量 1
匹配结果 13501489999

 

third

匹配文本 023-81200222、023-81200223、023-81200224
正则表达式 0\d{2}-\d{8} 
匹配数量 1
匹配结果

023-81200222

023-81200223

023-81200224

  

{n,} 的栗子

first

匹配文本 poloyy
正则表达式  y{1,} 
匹配数量 1
匹配结果 yy

 

second

匹配文本 13501489999
正则表达式 ^135\d{1,}$
匹配数量 1
匹配结果 13501489999

 

third

匹配文本 023-81200222、023-81200223、023-81200224
正则表达式 0\d{1,}-\d{1,}
匹配数量 1
匹配结果

023-81200222

023-81200223

023-81200224

  

{n,m} 的栗子

first

匹配文本 poloyy菠萝
正则表达式 yy菠1{0,1}
匹配数量 1
匹配结果 yy菠

 

second

匹配文本 13501489999
正则表达式 ^135\d{1,8}$
匹配数量 1
匹配结果 13501489999

 

third

匹配文本 023-81200222、023-81200223、023-81200224
正则表达式 0\d{1,2}-\d{1,8}
匹配数量 1
匹配结果

023-81200222

023-81200223

023-81200224