【正则】限定符-总

【01】总
 
限定符
 
用来指定正则表达式的一个给定的字符组合必须要出现多少次才能满足匹配。有*或+或?或{n}或{n,}或{n,m}共6种。
 
【】魔芋:这样的都是优先匹配最长字符串的。所以称为贪婪匹配。
比如:/a+/ 会匹配“aaaaa”的aaaa。而不是a
 

 

  • \?\*\+ 表示匹配字符串”?*+”
  • [?*+]表示匹配一个问号,或者一个*号,或者一个加号
 
 

 

【】n可以是被括号括起来的整体。n可以是子表达式。
do(es)+ //这时n为es

 
 

正则表达式的限定符有:
 

n*

n匹配0次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。

0+

 

 

n+

n匹配1次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。

1+

 

 

 

n?

n匹配0次或1次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。

0或1

 

 

n{X}

X是一个非负整数。匹配 X次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。

 

 

n{X,}

X是一个非负整数。至少匹配X次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。

 

n{X,Y}

X 和 Y 均为非负整数,其中X <= Y。最少匹配X且最多匹配Y次。例如,"o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。

 

 

在使用“*”和“?”时要注意,由于这些字符可能匹配0个字符,因此它们允许什么都不匹配。
例如,正则表达式/a*/实际上与字符串“bbbb”匹配,因为这个字符串含有0个a。
 
 
 
 
 

**

转载于:https://www.cnblogs.com/moyuling/p/9184836.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值