import re
zhengze_3 = '192.168.10.1 127.0.0.1'
result_7 = re.findall('([0-9]{1,3})(\.[0-9]{1,3}){3}',zhengze_3)
print("用正则表达式匹配IP地址:",result_7)
结果却是:(最后一行的为实际显示)
但是在某鸟教程的工具里面却是:下图
为啥Idle编辑和这个某鸟工具显示的结果还不一致嘞?正则都是复制黏贴的啊?
python版本问题?
还是我的手法有问题?
某鸟教程的工具好像是有一丢丢不一样哈,但是还是不清楚问题出在哪
看了一下,说是因为模式字符串中出现了分组,所以得到的结果是根据分组进行匹配的结果,即“(.[0-9]{1,3})”匹配的结果;
如果想获取整个模式字符串的匹配,可以将整个模式字符串用一对小括号进行分组,然后只取返回值元组的第一个元素。
如下:
zhengze_30 = '192.168.10.1 127.0.0.1'
result_7 = re.findall(r'([0-9]{1,3}(\.[0-9]{1,3}){3})',zhengze_30)
for item in result_7:
print(item[0])
print("用正则表达式匹配IP地址:",result_7)
以上是在持续学习后才发现的。
更加详细的解释见后续:
这好像是一个比较基础的问题,但是俺确实有点弄不懂