正则表达式 重复次数

后⾯跟着元字符+ ,*  或者 ? 的,⽤来指定匹配⼦模式的次数。

这些元字符在不同的情况下有着不同的意思。

* 号

* 号匹配在 * 之前的字符出现⼤于等于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 concat enation.

在线练习

 

+ 号

+ 号匹配 + 号之前的字符出现 >=1 次。

例如表达式c.+t 匹配以⾸字⺟c 开头以t 结尾, 中间跟着⾄少⼀个字符的字符串。

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

在线练习

 

? 号

在正则表达式中元字符? 标记在符号前⾯的字符为可选, 即出现0 或1 次。

例如, 表达式 [T]?he 匹配字符串 he 和 The 。

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

在线练习

 

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

在线练习

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