如何修改ip:port的正则表达式?

时间:2014-05-08 12:40:44

标签: regex python-2.7 ip-address

我有像

这样的正则表达式
match = re.findall(r'[0-9]+(?:\.[0-9]+){3}', source)

从源字符串中获取类似192.168.1.1的内容可以正常工作。 我如何修改这个正则表达式使它适用于这样的东西:

192.168.1.1:80

感谢您的帮助。

P.S。抱歉我的英语不好。

1 个答案:

答案 0 :(得分:13)

这将使IP地址与端口号相匹配。

match = re.findall(r'[0-9]+(?:\.[0-9]+){3}:[0-9]+', source)

如果您希望在没有端口和端口的情况下灵活地匹配IP地址,您可以使用:

match = re.findall(r'[0-9]+(?:\.[0-9]+){3}(:[0-9]+)?', source)