This topic created in 2650 days ago, the information mentioned may be changed or developed.
代码:re.search(r'((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5]\n)','1.1.1.10')
输出:<re.Match object; span=(0, 7), match='1.1.1.1'>
最后一位的 0 或者 00 都匹配不了是什么问题啊
7 replies • 2019-03-14 13:31:05 +08:00
 |
|
1
msg7086 Mar 10, 2019 1
因为.1 就满足匹配条件了,不会继续往下匹配?
|
 |
|
2
povvoq Mar 10, 2019 via Android
你这里满足了\d,就不往下继续了
|
 |
|
5
msg7086 Mar 10, 2019
因为前面要匹配 点 啊。 要匹配到结尾需要用$。 (说句实话,我是很不喜欢用正则来做这种检测的。正则是处理文字的,不是检查数字范围用的。)
|
 |
|
7
hanssx Mar 14, 2019
自己在网上搜的一直在用的 def is_valid_ip(ip): p = re.compile('^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$') if p.match(ip): return True else: return False
|