任何人都可以帮我获取regex
模式字符串(java)以在下面的字符串中提取 IP 地址和端口。
(HOST=__jdbc__)(USER=))) * (ADDRESS=(PROTOCOL=tcp)(HOST=199.888.88.88)(PORT=8080))
我首先尝试正则表达式。
尝试这个
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) 使其不区分大小写
您可以使用:
HOST=([\d.]+).+?PORT=(\d+)