Java 示例 - 拆分字符串

  • 问题描述

    如何重置正则表达式的模式?
  • 解决方案

    下面的例子演示了如何使用 Pattern 类的 Pattern.compile() 和 Matcher 类的 m.find() 方法来重置正则表达式的模式。
    
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    public class Resetting {
       public static void main(String[] args) throws Exception {
          Matcher m = Pattern.compile("[frb][aiu][gx]").matcher("fix the rug with bags");
          while (m.find())System.out.println(m.group());
          m.reset("fix the rig with rags");
          while (m.find())System.out.println(m.group());
       }
    } 
    
  • 结果

    上面的代码示例将产生以下结果。
    
    fix
    rug
    bag
    fix
    rig 
    rag
    
    以下是重置正则表达式模式的另一个示例
    
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    public class Matc {
       public static void main(String args[]) {
          Pattern p = Pattern.compile("\\d");
          Matcher mat1 = p.matcher("9652018244");
          
          while (mat1.find()) {
             System.out.println("\t\t" + mat1.group());
          } 
          mat1.reset();
          System.out.println("After done resetting the Matcher, it should be like this");
          
          while (mat1.find()) {
             System.out.println("\t\t" + mat1.group());
          }
       }
    }
    
  • 结果

    上面的代码示例将产生以下结果。
    
          9
          6
          5
          2
          0
          1
          8
          2
          4
          4
    After done resetting the Matcher, it should be like this
          9
          6
          5
          2
          0
          1
          8
          2
          4
          4