0
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatches
{
    public static void main( String args[] ){

      // String to be scanned to find the pattern.
      String line = "This order was places for QT3000! OK?";
      String pattern = "(.*)(\\d+)(.*)";

      // Create a Pattern object
      Pattern r = Pattern.compile(pattern);

      // Now create matcher object.
      Matcher m = r.matcher(line);
      if (m.find( )) {
         System.out.println("Found value: " + m.group(0) );
         System.out.println("Found value: " + m.group(1) );
         System.out.println("Found value: " + m.group(2) );
      } else {
         System.out.println("NO MATCH");
      }
   }
}

我想知道 Pattern 和 Matcher 对象是如何工作的?

我举了几个例子,但我想不出。

4

2 回答 2

1

您的组从索引 = 1 开始。零是整个匹配的索引。

所以,第一个(.*)m.group(1)(\\\d+)m.group(2),第二个(.*)m.group(3)

于 2013-08-01T10:02:17.767 回答
0

http://www.regular-expressions.info/tutorial.html包含您需要了解的有关正则表达式的几乎所有内容

于 2013-08-01T10:27:16.390 回答