正则表达式

作者: shaokang 时间: April 26, 2023字数:524

1. 正则元字符

正则元字符

2. 贪婪与非贪婪模式

元字符 同义表示方法 示例
* {0,} ab* 可以匹配 a 或 abb
+ {1,} ab+ 可以匹配 ab 或 abbb,但不能匹配 a
? {0,1} (+86-)?\d{11} 可以匹配 +86-13800138000 或 13800138000

贪婪模式,简单说就是尽可能进行 最长匹配。
非贪婪模式呢,则会尽可能进行 最短匹配。

在正则中,表示次数的量词 默认是贪婪的。

字符串 aaabb, 用 a* 正则来匹配,会得到 4 个匹配结果: [‘aaa’, ‘’, ‘’, ‘’]。 因为匹配不上都会得到一个空字符串。

如何将贪婪模式变成非贪婪模式呢?可以在量词后面加上英文的问号 (?)。

正则 a*?。此时的匹配结果如下:[’’, ‘a’, ‘’, ‘a’, ‘’, ‘a’, ‘’, ‘’, ‘’]

参考资料

https://zq99299.github.io/note-book/regular/