gpt4 book ai didi

java - 正则表达式只匹配第一个子字符串

转载 作者:行者123 更新时间:2023-11-30 07:17:22 39 4
gpt4 key购买 nike

我有一个这样的字符串

BALANCE:"5048543747",BALDEFOVD:"5119341413",ACCTNO:"0001000918",

我使用了正则表达式

(.*?),

我只收到第一个子字符串的结果是

BALANCE:"5048543747"

事实上,我想要得到的结果是数组包含

{

BALANCE:"5048543747"

BALDEFOVD:"5119341413"

ACCTNO:"0001000918"

}

谁能帮帮我。非常感谢。

编辑

我使用的代码

Pattern pattern = Pattern.compile("(.*?),");

Matcher matcher =pattern.matcher("BALANCE:\"5048543747\",BALDEFOVD:\"5119341413\",ACCTNO:\"0001000918\",");

if (matcher.find())

{

System.out.println("found: " + matcher.group(1));

}

我收到的结果

BALANCE:"5048543747"

最佳答案

试试这个代码:

String input = "BALANCE:\"5048543747\",BALDEFOVD:\"5119341413\",ACCTNO:\"0001000918\",";
String pattern = "(.*?),";
Pattern r = Pattern.compile(pattern);

List<String> matches = new ArrayList<String>();
Matcher m = r.matcher(input);
while (m.find()) {
matches.add(m.group(1));
}

看到一条评论后,您可能会更容易地用逗号分割字符串。

关于java - 正则表达式只匹配第一个子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38137162/

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