正则表达式之量词

目录

一、概念

二、常见量词

三、忽略优先量词

四、匹配优先量词

五、占有优先量词 


一、概念

我们通常可以通过正则的一些规则匹配到所需的数据,例如[0-9]或\d来匹配单个数字字符等。

量词,是用来限定我们定义好的规则出现的次数。

二、常见量词

量词说明
{n}精确匹配n次
{n,}匹配n次或更多次
{0,1}匹配零次或一次)
{1,0}匹配一次或更多次
{1, }匹配零次或更多次
{m,n}字符至少有m个,至少有n个
{m,}字符出现至少m个
{m}字符出现m次
^n匹配以n开始的字符串
{n*}表示至少包含零个或者多个n的字符串
{n?}表示至少包含零个或者一个n的字符串
{n+}表示至少一个n的字符串
n$匹配以n结尾的字符串
{n?}表示至少包含零个或者一个n的字符串
+至少一个
*零个或者多个
?零个或者一个
^放置在[]外部,作用为:以…开头
$结尾(特殊字符)
\转义字符
|指明两项之间的一个选择。要匹配 |,请使用 |。
[]标记一个中括号表达式的开始。要匹配 [,请使用 [。
\v匹配一个垂直制表符。等价于 \x0b 和 \cK。
\t匹配一个制表符。等价于 \x09 和 \cI。
\S匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\s匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意 Unicode 正则表达式会匹配全角空格符。
\r匹配一个回车符。等价于 \x0d 和 \cM。
\n匹配一个换行符。等价于 \x0a 和 \cJ。
\f匹配一个换页符。等价于 \x0c 和 \cL。

\cx

匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 ‘c’ 字符。
\wa-zA-ZO-9
\W除 \w 之外的任何字符,也就是 [Aa-zA-ZO-9]
\d[0-9], 即数字
\D除 \d 以外的任何字符,即 [^a-zA-Z0-9]
\B匹配非单词边界,即左右两边都是 “\w” 范围或者左右两边都不是 “\w” 范围时的字符缝隙
\b匹配单词边界
\xXX编号在 0 ~ 255 范围的字符,比如:空格可以使用 “\x20” 表示
\uXXXX任何字符可以使用 “\u” 再加上其编号的 4 位十六进制数表示,比如:”\u4E2D”

三、忽略优先量词

忽略优先的量词会匹配尽可能少的内容,只需要满足下限,匹配就能成功

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

四、匹配优先量词

量词在正常情况下都是匹配优先的

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

五、占有优先量词 

占有优先是最大匹配后不“交还”

占有优先量词
?+ 
*+
++
{m,n}+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值