用java实现截取ip和数据库名称 String str="jdbc:hive2://10.64.15.15:10000/default;authentication=kerberos;principal=hive/ail-vm-1515-tmp@TDH";
时间: 2024-10-25 16:05:25 浏览: 30
在Java中,你可以使用正则表达式(Pattern和Matcher)来从给定的字符串中提取IP地址和数据库名称。这里是一个简单的例子:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String str = "jdbc:hive2://10.64.15.15:10000/default;authentication=kerberos;principal=hive/ail-vm-1515-tmp@TDH";
// 定义模式来匹配IP地址和数据库名称
String ipPattern = "(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})";
String dbNamePattern = "\\b(default|your_database_name_here)\\b";
// 创建正则表达式对象
Pattern ipPatternObj = Pattern.compile(ipPattern);
Pattern dbNamePatternObj = Pattern.compile(dbNamePattern);
// 使用 Matcher 找到匹配项
Matcher ipMatcher = ipPatternObj.matcher(str);
Matcher dbNameMatcher = dbNamePatternObj.matcher(str);
if (ipMatcher.find()) {
System.out.println("IP Address: " + ipMatcher.group());
}
if (dbNameMatcher.find()) {
System.out.println("Database Name: " + dbNameMatcher.group());
}
}
}
```
在这个例子中,`ipPattern` 匹配任何有效的IP地址,而 `dbNamePattern` 匹配 "default" 或你需要替换为你实际数据库名称的部分。请注意,你需要将 `your_database_name_here` 替换为你需要的实际数据库名称。
阅读全文