如何计算正则表达式捕获组的次数?

时间:2011-10-10 01:45:26

标签: java regex grouping

我有正则表达式([A-Za-z]+)

我的示例文字是:

jerk jerk jerk jerk jerk jerk jerk jerk jerk jerk 

我试图找出一个例子中捕获一组的次数。我希望示例输入的答案为10。

我将如何实施?

2 个答案:

答案 0 :(得分:3)

您必须在正则表达式中指定要匹配的内容。你拥有的将匹配任何字母字符。你走了:

import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {

    public static void main( String[] args ) throws IOException //throws exceptions
    {
        String str = "jerk jerk jerk jerk\njerk jerk jerk\njerk jerk\njerk";
        String regex = "jerk";
        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(str);
        int count = 0;
        while(m.find())
            count++;
        System.out.println(count);
    }
}

答案 1 :(得分:2)

int count = 0;
while (matcher.find())
    count++;