繁体   English   中英

java正则表达式匹配IP地址和端口号作为捕获的组

[英]java regex matching ip address and port number as captured groups

可以请任何人告诉我这个正则表达式有什么问题?

((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))\\:([0-9]{2,5})

匹配此:assfasfas> 192.168.1.1:8080192.168.222.43:8286

我需要192.168.1.1和8080作为捕获组

谢谢

除非你真的,真的必须进行IP地址验证 ,我建议你简化正则表达式,因为这个野兽太复杂了,只能匹配“IP部分”和“端口部分”。 我的建议是

(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d{1,5})

第1组和第2组分别保存IP和端口。 而且上面已经比它需要的更复杂了,恕我直言,即使这样简单就足够了:

(\d+\.\d+\.\d+\.\d+):(\d+)

请注意,双反斜杠是Java字符串的要求,而不是正则表达式的要求,所以我把它们排除在外。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM