首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修改ip:port的正则表达式?

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

Stack Overflow用户
提问于 2014-05-08 20:40:44
回答 2查看 9.2K关注 0票数 3

我有如下的正则表达式

代码语言:javascript
复制
match = re.findall(r'[0-9]+(?:\.[0-9]+){3}', source)

从源字符串中提取类似于192.168.1.1的内容可以很好地工作。我如何修改这个正则表达式,使其与下面的代码一起工作:

代码语言:javascript
复制
192.168.1.1:80

谢谢你的帮助。

另外,很抱歉我的英语不好。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-08 20:45:48

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

代码语言:javascript
复制
match = re.findall(r'[0-9]+(?:\.[0-9]+){3}:[0-9]+', source)

如果您希望灵活地匹配不带端口和带端口的IP地址,您可以使用:

代码语言:javascript
复制
match = re.findall(r'[0-9]+(?:\.[0-9]+){3}(:[0-9]+)?', source)
票数 15
EN

Stack Overflow用户

发布于 2021-10-20 11:20:42

由于没有考虑最高端口号((2^16 - 1)或65,535) (在上面的解决方案中),因此这应该是适用于您的情况的正则表达式:

代码语言:javascript
复制
^(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})){3}(:((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{1,5})|([0-9]{1,4})))?$|^$
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23542035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档