gpt4 book ai didi

java - 意外的正则表达式结果

转载 作者:行者123 更新时间:2023-12-02 08:07:40 24 4
gpt4 key购买 nike

我已经看到了几个有关如何检索和删除分隔符之间的字符串的示例。但是,我创建了一个非常简单的测试用例,并且根据各种示例得到了错误的输出。为什么我返回的是我想要用作搜索源的字符串而不是我正在搜索的字符串?

String temp = "56.0 F (13.3C)";
String exp = "((^))";
String p = temp.replace(exp, "");
System.out.println("p=" + p);

我得到字符串 56.0F (13.3C) 作为输出。

我期待恢复 56.0F

我还尝试使用模式匹配器:

Pattern pattern = Pattern.compile(exp);
Matcher matcher = pattern.matcher(temp);
if (matcher.find()) {
System.out.println(matcher.groupCount());
for (int i=0; i<=matcher.groupCount(); i++) {
String groupStr = matcher.group(i);
System.out.println(groupStr);
}
}

2 是打印到控制台的内容

关于我做错了什么有什么想法吗?我已经看了几个小时了。谢谢!

最佳答案

它正在返回字符串,因为它无法进行任何替换。

尝试使用 \(.*?\)\([^)]*\) 来匹配包含括号的字符串部分。

如果您希望它选择性地吃掉周围的空白,请在正则表达式的两侧放置 \s*,或者对结果进行修剪。

关于java - 意外的正则表达式结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7897958/

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