前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >正则表达式之量词

正则表达式之量词

作者头像
chimchim
发布2023-10-17 08:52:12
1280
发布2023-10-17 08:52:12
举报

一、概念

我们通常可以通过正则的一些规则匹配到所需的数据,例如[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’ 字符。

\w

a-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}+

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-02-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、概念
  • 二、常见量词
  • 三、忽略优先量词
  • 四、匹配优先量词
  • 五、占有优先量词 
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档