gpt4 book ai didi

java通过正则表达式提取地址项

转载 作者:行者123 更新时间:2023-11-29 09:50:37 26 4
gpt4 key购买 nike

我有一个字符串:user1:password@192.168.1.3:3306/dbname1我需要填写用户名、密码、主机、端口和 dbname 变量...我的代码:

String patternStr = "(\b[A-Z0-9._%+-]+):([A-Z]+)@([A-Z0-9.-]+):([0-9]{1,5})/([A-Z0-9_-]+)";
Pattern p = Pattern.compile(patternStr, Pattern.CASE_INSENSITIVE);
Matcher matcher = p.matcher(dbpath);
System.out.println(matcher.matches());

输出:

false

:(请告诉我我的错误...谢谢。

最佳答案

这是一个更简单的版本,它不是 100% 正确,但它可以满足您的需求:

String dbpath = "user1:password@192.168.1.3:3306/dbname1";
String patternStr = "([^:]+):([^@]+)@([^:]+):([^/]+)/(.+)";
Pattern p = Pattern.compile(patternStr, Pattern.CASE_INSENSITIVE);
Matcher matcher = p.matcher(dbpath);
System.out.println(matcher.matches());

// Output: true

关于java通过正则表达式提取地址项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5383290/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com