ToolBox

正则表达式入门教程

重复次数

4/9
4 节 / 共 9🔤 正则表达式入门教程

重复次数

重复次数

后面跟着元字符 +* or ? 的,用来指定匹配子模式的次数。 这些元字符在不同的情况下有着不同的意思。

2.3.1 *

* 号匹配在 * 之前的字符出现 大于等于0 次。 例如,表达式 a* 匹配 0 或更多个以 a 开头的字符。表达式 [a-z]* 匹配一个行中所有以小写字母开头的字符串。

"[a-z]*" => T**he** **car** **parked** **in** **the** **garage** #21.

在线练习

* 字符和 . 字符搭配可以匹配所有的字符 .** 和表示匹配空格的符号 \s 连起来用,如表达式 \s*cat\s* 匹配 0 或更多个空格开头和 0 或更多个空格结尾的 cat 字符串。

"\s*cat\s*" => The fat** cat **sat on the con**cat**enation.

在线练习

2.3.2 +

+ 号匹配 + 号之前的字符出现 >=1 次。 例如表达式 c.+t 匹配以首字母 c 开头以 t 结尾,中间跟着至少一个字符的字符串。

"c.+t" => The fat **cat sat on the mat**.

在线练习

2.3.3 ?

在正则表达式中元字符 ? 标记在符号前面的字符为可选,即出现 0 或 1 次。 例如,表达式 [T]?he 匹配字符串 heThe

"[T]he" => **The** car is parked in the garage.

在线练习

"[T]?he" => **The** car is parked in t**he** garage.

在线练习

2.4 {}

在正则表达式中 {} 是一个量词,常用来限定一个或一组字符可以重复出现的次数。 例如,表达式 [0-9]{2,3} 匹配最少 2 位最多 3 位 0~9 的数字。

"[0-9]{2,3}" => The number was 9.**999**7 but we rounded it off to **10**.0.

在线练习

我们可以省略第二个参数。 例如,[0-9]{2,} 匹配至少两位 0~9 的数字。 如果逗号也省略掉则表示重复固定的次数。 例如,[0-9]{3} 匹配 3 位数字。

"[0-9]{2,}" => The number was 9.**9997** but we rounded it off to **10**.0.

在线练习

"[0-9]{3}" => The number was 9.**999**7 but we rounded it off to 10.0.

在线练习