gpt4 book ai didi

java - 使用正则表达式查找超过 1 个字符串

转载 作者:行者123 更新时间:2023-12-01 14:43:22 26 4
gpt4 key购买 nike

我实际上是java新手,我很高兴我发现正则表达式可以工作^^但现在我需要知道,如何获取超过1个字符串,最好是所有字符串都在一个数组中。实际上我是这样做的:

Pattern p = Pattern.compile("name~(.*?)@");
Matcher m = p.matcher(response);

while (m.find()) {
System.out.println("Found: " + m.group());
}

有人可以帮忙吗?

最佳答案

您只需将结果放入列表中即可:

final List<String> results = new LinkedList<>();
while (m.find()) {
results.add(m.group());
}

然后,您可以直接访问 List 中的结果 - 如果您需要随机访问,请使用 ArrayList 而不是 LinkedList。如果您需要数组,只需将其转换即可

final String[] resultArr = results.toArray(new String[results.size()]);

如果您要匹配 String 中的多个项目,您可以通过匹配 [^@] 并使其具有所有格而不是使用不情愿.*

Pattern p = Pattern.compile("name~([^@]++)@");

关于java - 使用正则表达式查找超过 1 个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15718029/

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