我正在尝试使用正则表达式,但找不到正确的结果。
Pattern pattern = Pattern.compile(" - ");
Matcher matcher = pattern.matcher("test - test2");
它应该给我“测试”
while (matcher.find()) {
String fichierPart1 = matcher.group(1);
}
我无法通过此代码获得结果。 谢谢您的帮助
答案 0 :(得分:0)
没有第1组-只有一场比赛“-”。
online regex tester使这一点更容易理解。
如果您想获得“测试”,为什么不"test - test".split(" - ")
呢?在您的情况下,这将返回由-
-test
和test
分隔的值的数组。
答案 1 :(得分:0)
您的模式应该有些困难:正则表达式不是分割文本的最佳选择。
此外,正则表达式具有自己的语法,必须先对其进行语法分析,然后才能评估模式。因此,您的应用程序试图无用地做很多工作。
根据@WiktorStribiżew的评论,我建议您使用String.split()
。试试这个:
for (String part : "test - test2".split(" - ")) {
}