假设我的代码如下:
Pattern pt = Pattern.compile("(?:h)?o");
Matcher m = pt.matcher("hours 123");
m.find();
System.out.println(m.group(0));
结果是
ho
在正则表达式中,我有一个非捕获group (?:h)
。为什么这个小组被列入最终结果?我只是希望得到“o”。
答案 0 :(得分:2)
答案 1 :(得分:2)
group(0)
是整场比赛。你需要
Pattern.compile("(?:h)?(o)");
并使用m.group(1)