优秀的编程知识分享平台

网站首页 > 技术文章 正文

正则表达式 量词(正则表达式子表达式)

nanyue 2025-03-20 17:12:29 技术文章 10 ℃

在正则表达式中,量词(也称为限定符)用于指定前面的字符、字符集或子表达式出现的次数。以下是常见的量词及其用法:

1.`*`(零次或多次)

o 含义:匹配前面的字符或表达式零次或多次。

o 示例:

o 正则表达式:`a*`

o 匹配内容:`""`(空字符串)、`"a"`、`"aa"`、`"aaa"`等。

o 正则表达式:`[0-9]*`

o 匹配内容:`""`(空字符串)、`"0"`、`"12"`、`"345"`等。

2.`+`(一次或多次)

o 含义:匹配前面的字符或表达式一次或多次。

o 示例:

o 正则表达式:`a+`

o 匹配内容:`"a"`、`"aa"`、`"aaa"`等,但不匹配空字符串。

o 正则表达式:`[0-9]+`

o 匹配内容:`"0"`、`"12"`、`"345"`等,但不匹配空字符串。

3.`?`(零次或一次)

o 含义:匹配前面的字符或表达式零次或一次。

o 示例:

o 正则表达式:`a?`

o 匹配内容:`""`(空字符串)、`"a"`。

o 正则表达式:`ab?c`

o 匹配内容:`"ac"`、`"abc"`。

4.`{n}`(恰好n次)

o 含义:匹配前面的字符或表达式恰好n次。

o 示例:

o 正则表达式:`a{3}`

o 匹配内容:`"aaa"`。

o 正则表达式:`[0-9]{4}`

o 匹配内容:`"1234"`、`"5678"`等,但不匹配少于4位或超过4位的数字。

5.`{n,}`(至少n次)

o 含义:匹配前面的字符或表达式至少n次。

o 示例:

o 正则表达式:`a{2,}`

o 匹配内容:`"aa"`、`"aaa"`、`"aaaa"`等。

o 正则表达式:`[0-9]{3,}`

o 匹配内容:`"123"`、`"4567"`等,但不匹配少于3位的数字。

6.`{n,m}`(至少n次,最多m次)

o 含义:匹配前面的字符或表达式至少n次,最多m次。

o 示例:

o 正则表达式:`a{2,4}`

o 匹配内容:`"aa"`、`"aaa"`、`"aaaa"`,但不匹配`"a"`或`"aaaaa"`。

o 正则表达式:`[0-9]{1,3}`

o 匹配内容:`"1"`、`"12"`、`"123"`,但不匹配`""`或`"1234"`。

7.贪婪与非贪婪量词

o 贪婪量词:默认情况下,量词(如`*`、`+`、`{n,m}`等)是贪婪的,会尽可能多地匹配字符。

o 示例:正则表达式`a.*b`在字符串`"a123b456b"`中会匹配`"a123b456b"`。

o 非贪婪量词:在量词后面加上`?`,表示非贪婪匹配,会尽可能少地匹配字符。

o 示例:正则表达式`a.*?b`在字符串`"a123b456b"`中会匹配`"a123b"`。

8.特殊情况

o `*?`、`+?`、`??`:分别对应非贪婪的零次或多次、一次或多次、零次或一次。

o `{n,m}?`:非贪婪的量词,匹配尽可能少的字符。

Tags:

最近发表
标签列表