簡體   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