-4

任何人都可以帮我获取regex模式字符串(java)以在下面的字符串中提取 IP 地址和端口。

(HOST=__jdbc__)(USER=))) * (ADDRESS=(PROTOCOL=tcp)(HOST=199.888.88.88)(PORT=8080)) 

我首先尝试正则表达式。

4

2 回答 2

1

尝试这个

    String s = "(HOST=jdbc)(USER=))) * (ADDRESS=(PROTOCOL=tcp)(HOST=199.888.88.88)(PORT=8080))";
    String ip = s.replaceAll("(?i).+\\(HOST\\s*=\\s*(.+?)\\).+", "$1");
    String port = s.replaceAll("(?i).+\\(PORT\\s*=\\s*(.+?)\\).+", "$1");
    System.out.println(ip);
    System.out.println(port);

输出

199.888.88.88
8080

请注意 (?i) 使其不区分大小写

于 2013-05-10T10:07:21.007 回答
-1

您可以使用:

HOST=([\d.]+).+?PORT=(\d+)
于 2013-05-10T10:05:41.073 回答