gpt4 book ai didi

java - java中的正则表达式不起作用

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

我将 excel 文件转换为 CSV,然后将其转换为字符串。

问题是正则表达式无法正常工作

我想检测这种文本:

MYW Pkg, MYW Pkg + Quick Service Dining, MYW Pkg + Dining, MYW Pkg + Deluxe Dining,

Room + Tickets + Quick Service Dining

我有一个字符串数组。所以我需要知道一个模式,我尝试了这个,但它没有检测到它:

Pattern.compile("([A-Z]{3})+(\\s)+([A-Za-z]{3})+(\\s)+(\\+)");

我尝试匹配“MYW Pkg +”,例如,你知道为什么它不起作用吗?

更多代码:

chain 是具有“MYW Pkg”等值的数组,

Pattern patPackageDescription = Pattern.compile("([A-Z]{3})+(\\s)+([A-Za-z])+(\\s)+(\\+)");
for (int i = 0; i < chain.length; i++) {
Matcher matPackageDescription = patPackageDescription
.matcher(chain[i]);

if (matPackageDescription.matches()) {
String space = String.format("%1$-" + 50 + "s",
chain[i].toString());
a.append(space + "|\n");
}
}

问候。

最佳答案

matches() 方法尝试将整个字符串与模式进行匹配,要匹配需要使用 find() 方法的字符串的一部分。

String str = "MYW Pkg, MYW Pkg + Quick Service Dining, MYW Pkg + Dining, MYW Pkg + Deluxe Dining,";
Pattern patPackageDescription = Pattern.compile("([A-Za-z]{3}\\s)+\\+");
Matcher matPackageDescription = patPackageDescription.matcher(str);

while (matPackageDescription.find()) {
System.out.println(matPackageDescription.group());
}

输出:

MYW Pkg +
MYW Pkg +
MYW Pkg +

here以获得解释。

关于java - java中的正则表达式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38467230/

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