专栏首页自动化、性能测试全网最易懂的正则表达式教程(3)- 量词

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

量词(限定符)

代码/语法

说明

*

重复 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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 全网最易懂的正则表达式教程(2)- 特殊单字符和空白符

    https://www.cnblogs.com/poloyy/category/1796055.html

    小菠萝测试笔记
  • 全网最易懂的正则表达式教程(5)- 断言

    和单词的边界类似,在正则中还有文本每行的开始和结束,如果要求匹配的内容要出现在一行文本开头或结尾,就可以使用 ^ 和 $ 来进行位置界定

    小菠萝测试笔记
  • 全网最易懂的正则表达式教程(4)- 范围

    要想匹配数字,字母,空白是很简单的,因为已经有了对应这些字符集合的元字符,但是如果你想匹配没有预定义元字符的字符集合(比如:元音字母 a,e,i,o,u )

    小菠萝测试笔记
  • 匈牙利算法

    二分图:又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边所关联的两个顶点i...

    五分钟学算法
  • 全网最易懂的正则表达式教程(2)- 特殊单字符和空白符

    https://www.cnblogs.com/poloyy/category/1796055.html

    小菠萝测试笔记
  • 还不会正则表达式?看这篇!

    正则表达式是很多程序员,甚至是一些有了多年经验的开发者薄弱的一项技能。大家都很多时候都会觉得正则表达式难记、难学、难用,但不可否认的是正则表达式是一项很重要的技...

    MudOnTire
  • 正则表达式学习笔记

    正则表达式学习笔记 (原创内容,转载请注明来源,谢谢) 首先,学习正则表达式,很推荐一篇博客,http://www.cnblogs.com/deerchao...

    用户1327360
  • 正则表达式

    正则表达式 什么是正则表达式? 正则表达式,又称规则表达式,英文名为Regular Expression,在代码中常简写为regex、regexp或RE,是计算...

    新人小试
  • python中正则表达式的学习

    我们以match_str=”abcdefghc“、pattern=”a.*c”例,

    菜鸟小白的学习分享
  • Sunday算法模板

    Sunday是一个线性字符串模式匹配算法。算法的概念如下: Sunday算法是Daniel M.Sunday于1990年提出的一种字符串模式匹配算法。其核心思想...

    attack

扫码关注云+社区

领取腾讯云代金券