Java 从Oracle连接描述符提取IP地址和端口的正则表达式

Java 从Oracle连接描述符提取IP地址和端口的正则表达式,java,regex,Java,Regex,请任何人帮我获取正则表达式模式字符串java,以提取下面字符串中的ip地址和端口 (HOST=__jdbc__)(USER=))) * (ADDRESS=(PROTOCOL=tcp)(HOST=199.888.88.88)(PORT=8080)) 我首先尝试正则表达式。您可以使用: HOST=([\d.]+).+?PORT=(\d+) 试试这个 String s = "(HOST=jdbc)(USER=))) * (ADDRESS=(PROTOCOL=tcp)(HOST=199.8

请任何人帮我获取正则表达式模式字符串java,以提取下面字符串中的ip地址和端口

(HOST=__jdbc__)(USER=))) * (ADDRESS=(PROTOCOL=tcp)(HOST=199.888.88.88)(PORT=8080)) 
我首先尝试正则表达式。

您可以使用:

HOST=([\d.]+).+?PORT=(\d+)
试试这个

    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

注意?我使它不区分大小写

Read regex。。你会明白的。把你试过的代码放在这里far@BenjaminGruenbaum:那不会work@0A0D我阅读了extract模式,并看到OP将单词jdbc放进了其中bold@BenjaminGruenbaum:必须在代码放入块之前,因为添加双下划线时,文本会加粗。