本节介绍python使用正则表达式(regex)匹配多字符。
匹配多字符的相关样式
* | 匹配前一个字符出现0次或者无限次 |
+ | 匹配前一个字符出现1次或者无限次 |
? | 匹配前一个字符出现1次或者0次 |
{m} | 匹配前一个字符出现m次 |
{m,n} | 匹配前一个字符出现m次到n次 |
以匹配”page999″为例,这里表示一本书的页数,最多999页,最少为1开始。那么如何匹配?
re.match(r"page\d{1,3}", "page666")
这里的\d依然表示0-9,但{1,3}则表示它前面紧挨着的字符,即\d可能有0个或者3个。
那么如何匹配电话号码呢?我们知道它是11位
re.match(r"\d{11}", "12345678901")
这里的{11}表示左边紧挨着的\d必须有11位。
?*+用法相似,也表示与前一个字符的相关次数。这里你需要参考匹配单字符篇,查看单字符都有哪些。