Java正则表达式匹配器:以下等价物?

时间:2011-11-28 08:49:05

标签: java regex

使用java.util.regex.Matchermatched1matched2等效的以下表达式是什么?是否有更简单的方法来获取matched的值?

StringBuilder b = ...
Pattern p = ...
Matcher m = p.matcher(b);
m.find();


String matched1 = b.substring(m.start(), m.end());

String matched2 = m.group();

2 个答案:

答案 0 :(得分:6)

是的,它们是等价的,不,没有更简单的方法。

我更喜欢.group()方法;可能包含在if (m.find())条件中。

答案 1 :(得分:2)

他们是平等的。你可以找到所有这样的匹配。

   while (matcher.find()) {
        System.out.print("Start index: " + matcher.start());
        System.out.print(" End index: " + matcher.end() + " ");
        System.out.println(matcher.group());
  }