简单的正则表达式模式匹配

时间:2018-11-02 16:47:23

标签: java regex

我正在尝试使用正则表达式,但找不到正确的结果。

Pattern pattern = Pattern.compile(" - ");
Matcher matcher = pattern.matcher("test - test2");

它应该给我“测试”

    while (matcher.find()) {
        String fichierPart1 = matcher.group(1);
    }

我无法通过此代码获得结果。 谢谢您的帮助

2 个答案:

答案 0 :(得分:0)

没有第1组-只有一场比赛“-”。

online regex tester使这一点更容易理解。

如果您想获得“测试”,为什么不"test - test".split(" - ")呢?在您的情况下,这将返回由--testtest分隔的值的数组。

答案 1 :(得分:0)

您的模式应该有些困难:正则表达式不是分割文本的最佳选择。

此外,正则表达式具有自己的语法,必须先对其进行语法分析,然后才能评估模式。因此,您的应用程序试图无用地做很多工作。

根据@WiktorStribiżew的评论,我建议您使用String.split()。试试这个:

for (String part : "test - test2".split(" - ")) {
}