我试图从给定的字符串中单独获取 IP 地址和端口号。
STRING:
(10.10.2.5:1567)
我需要 O/P 作为
10.10.2.5
1567
我是 RegEx 的新手,我使用的模式是
\(([\d.]+):\d+\).*
这个似乎选择10.10.2.5
但没有选择1567
我试图从给定的字符串中单独获取 IP 地址和端口号。
STRING:
(10.10.2.5:1567)
我需要 O/P 作为
10.10.2.5
1567
我是 RegEx 的新手,我使用的模式是
\(([\d.]+):\d+\).*
这个似乎选择10.10.2.5
但没有选择1567
您正在使用第一组捕获 IP 地址
([\d.]+)
但不是港口。您需要另一对括号来定义第二组
\(([\d.]+):([\d]+)\).*
请注意,第一组也太通用了:它可以接受任何数字和点的混合:
23424....2342423
请参阅正则表达式以匹配 DNS 主机名或 IP 地址?为了更严格的表达
使用这个正则表达式:
\(([\d.]+):(\d+)\).*
它与您的正则表达式基本相同,但有以下 2 处更改:
所以$1
会有IP地址和$2
端口号。
您可以使用此模式
\d+[.]\d+[.]\d+[.]\d+(:\d+)?