gpt4 book ai didi

java - 如何按照文本中出现的顺序获取两个正则表达式之间的信息?

转载 作者:行者123 更新时间:2023-12-01 18:37:56 25 4
gpt4 key购买 nike

如何获取 < > 和 ""之间的信息?

我尝试用|链接正则表达式,但没有找到任何东西。

String processed="";
Pattern pattern = Pattern.compile("\"([^\"]*)\"|<(.*?)>");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
processed += matcher.group(1);
processed += " ";
}

你能帮我吗?

最佳答案

您没有找到尖括号中的内容的原因是,您并没有真正打印它。您假设 matcher.group(1)将为您提供匹配的组,介于 <> 之间或"" ,但事实并非如此。组根据括号编号。尝试打印group 1group 2在每次迭代中,您都会了解发生了什么。

解决问题后,您只需删除那些捕获组,并使它们成为非捕获组,然后使用 group(0)相反,它会起作用:

String processed="";
Pattern pattern = Pattern.compile("\"(?:[^\"]*)\"|<(?:.*?)>");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
processed += matcher.group(0);
processed += " ";
}

关于java - 如何按照文本中出现的顺序获取两个正则表达式之间的信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21062859/

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