无法使用正则表达式匹配字符串“[help]”中的字符串“help”

时间:2013-01-17 23:59:48

标签: java regex

我无法正确匹配。它只打印“[help]”但我希望它匹配括号内的字符。

想:

[help]
help

代码:

        Pattern p = Pattern.compile("\\[(\\w+)\\]");
        Matcher m = p.matcher("[help]");
        m.find();


        for (int i=0;i<m.groupCount(); i++) {
            System.out.println(m.group(i));
        }

1 个答案:

答案 0 :(得分:4)

您需要为groupCount检查<=。像这样:

for (int i = 0; i <= m.groupCount(); i++) {

来自Matcher Javadoc

  

小于或等于此方法返回的值的任何非负整数都保证是此匹配器的有效组索引。