正则指引--量词

本文深入解析正则表达式中量词的使用,包括字符组出现次数的表示、范围以及如何实现匹配优先与忽略优先,同时解释量词的转义规则与匹配特性。

量词:指定字符组出现的次数
例如\d\d\d表示出现三个字符组,我们可以使用量词表示法:
\d{3}
量词可以表示字符组出现的次数,还可以表示字符组出现次数的范围:
\d{0,10} : 就表示这边可以匹配出现0到10次之间整数。
一般量词的表示:
{n}
{m,n} 表示范围:m<= X <=n
{m,}  表示范围:m<= X ,X可以无穷大
{0,n} 表示范围:0<= X <=n
还存在一组常用量词,也可以叫量词简记法:
*  :{0,}
+  :{1,}
?  :{0,1}

点号:可以表示任意字符,除去换行符\n。  自制任意字符是:[\s\S]

匹配优先量词:
会对量词的匹配优先,量词后面的匹配排后。
例如:".*" 去匹配 字符串: "sdfasf"ddd" 匹配出的结果是 :  "sdfasf"ddd"


忽略优先量词:
会对量词后面的匹配优先,量词的匹配排后。
例如:".*?" 去匹配 字符串: "sdfasf"ddd" 匹配出的结果是 :  "sdfasf"

默认量词表示法都是优先匹配量词,如果需要忽略优先匹配量词的话,需要在后面加上?,具体如下:

匹配优先量词  忽略优先量词
*               *?
+               +?
?               ??
{m,n}         {m,n}?

量词默认表示字符组出现的次数,但是有时我们就是需要匹配量词形式的字符串,就需要对量词进行转义:
各种量词转义:
{m,n}   : \{m,n}
*          : \*          
*?         : \*\?
+          : \+         
+?        : \+\?
?           : \?          
??         : \?\?
{m,n}   : \{m,n}          
{m,n}? : \{m,n}\?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值