我正在尝试从给定字符串中单独获取IP地址和端口号。
STRING:
(10.10.2.5:1567)
我需要O / P
10.10.2.5
1567
我是RegEx的新手,我正在使用的模式是
\(([\d.]+):\d+\).*
这个似乎选择10.10.2.5
但未选择1567
答案 0 :(得分:0)
使用此正则表达式:
\(([\d.]+):(\d+)\).*
它与你的正则数基本相同,有以下两个变化:
因此$1
将拥有IP地址,$2
将拥有端口号。
答案 1 :(得分:0)
您可以使用此模式
\d+[.]\d+[.]\d+[.]\d+(:\d+)?
答案 2 :(得分:0)
您正在使用第一组
捕获IP地址([\d.]+)
但不是港口。您需要另一对括号来定义第二组
\(([\d.]+):([\d]+)\).*
请注意,第一组也太通用了:它会接受任何数字和点的组合:
23424....2342423
有关更严格的表达,请参阅Regular expression to match DNS hostname or IP Address?