相关疑难解决方法(0)

Java Regex中matches()和find()之间的区别

我想明白之间的差别matches()find().

根据Javadoc(根据我的理解),matches()即使它找到了它正在寻找的东西,它也会搜索整个字符串,并find()在它找到它所寻找的内容时停止.

如果这个假设是正确matches()find(),除非你想要计算它找到的匹配数,否则我无法看到你想要使用的代替.

在我看来,String类应该具有find()而不是matches()作为内置方法.

总结一下:

  1. 我的假设是否正确?
  2. 何时使用matches()而不是find()

java regex

234
推荐指数
4
解决办法
19万
查看次数

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

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

问题是正则表达式不能正常工作

我想检测这种文本:

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

房间 + 门票 + 快速服务餐饮

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

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

例如,我尝试匹配“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");
            }
        }
Run Code Online (Sandbox Code Playgroud)

问候。

java regex formatter

0
推荐指数
1
解决办法
9386
查看次数

标签 统计

java ×2

regex ×2

formatter ×1