via我测试了我的正则表达式匹配器没有返回正确的组号
([\S]*)[\[]([\d]+)[-]([\d]+)[\]]
,但是当我在Java中使用它,它不回我终于找到组。
例如:值 - 指数[1-9]
经由regex101- 它返回我 “索引”, “1”, “9”
但在Java - “索引” 和“ 1" 只有
这里的代码我使用:
String regex = "([\\S]*)[\\[]([\\d]+)[-]([\\d]+)[\\]]";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(text);
if(matcher.find()){
for (int i = 0; i < matcher.groupCount(); i++)
System.out.println(matcher.group(i));
}
任何线索,为什么出现这种情况?
请说明如何在Java代码中定义正则表达式。 –
@WiktorStribiżew([\ S] *)[\ []([\ d] +)[ - ]([\ d] +)([\]]) – DreadAngel