我试图了解捕获括号如何为正则表达式工作,但我不明白......
我的代码是:
Pattern pattern = Pattern.compile("ab"); Matcher m = pattern.matcher("abc"); while (m.find()) { for (int i = 0; i < m.groupCount(); i++) { System.out.println(m.group(i)); } }
所以我根本没有显示。我的理解是我需要一个捕获括号来记住匹配结果并显示它。
所以我做了 :
Pattern pattern = Pattern.compile("(ab)"); Matcher m = pattern.matcher("abc");
我得到了预期的显示:ab
然后我想记住并只显示匹配结果的一部分,所以我做了:
Pattern pattern = Pattern.compile("(a)b"); Matcher m = pattern.matcher("abc");
我期待有:a,但我有:ab
为什么 ?