gpt4 book ai didi

Java正则表达式最长匹配

转载 作者:行者123 更新时间:2023-12-01 19:16:27 32 4
gpt4 key购买 nike

我遇到了与(某种程度上)形式的典型字符串匹配的通用正则表达式的问题

... "field1" "field2" "field3" "field4" ...

当然,我想要做的是分别获取这些字段。由于字段可以包含任何字符,因此我使用以下形式的“包罗万象”正则表达式

... \"(.*?)\" +\"(.*?)\" +\"(.*?)\" +\"(.*?)\" + ...

问题是,Java 没有生成 4 个不同的组,而是只给了我一个,即合并上面的 4 个组,即我得到一个字段:

field1" "field2" "field3" "field4

而不是

field1
field2
field3
field4

我什至尝试过对每个字段执行诸如“([^\”]*)\”之类的操作,但结果是相同的。

如何分别获取这4个字段?

最佳答案

您可以尝试使用String.split方法进行此类输入。

    String input = "... \"field1\" \"field2\" \"field3\" \"field4\" ...";
String[] split = input.split("\"\\s*\"?");
String field1 = split[1]; // field1
String field2 = split[2]; // field2
String field3 = split[3]; // field3
String field4 = split[4]; // field4

关于Java正则表达式最长匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6462763/

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