Java 正则 中的 Matcher usePattern函

首页 / 正则入门教程 / Java 正则 中的 Matcher usePattern函

java.util.regex.Matcher.usePattern(Pattern newPattern)方法更改此Matcher用于查找匹配项的模式。

Matcher usePattern - 声明

public Matcher usePattern(Pattern newPattern)
  • newPattern   -  此匹配器使用的新模式。

Matcher usePattern - 返回值

这个匹配器。

Matcher usePattern - 异常

  • IllegalArgumentException   -  如果newPattern为null。

Matcher usePattern - 示例

下面的示例显示java.util.regex.Matcher.usePattern(Pattern newPattern)方法的用法。

package com.learnfk;

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

public class MatcherDemo {
   private static String REGEX = "(a*b)(foo)";
   private static String INPUT = "aabfooaabfooabfoob";

   public static void main(String[] args) {
      //创建一个模式
      Pattern pattern = Pattern.compile(REGEX);
      
      //获取匹配器对象
      Matcher matcher = pattern.matcher(INPUT); 
      
      while(matcher.find()) {
         //打印给定组捕获的子序列的开始索引。
         System.out.println("Second Capturing Group, (foo) Match String start(): "+matcher.start(1));
      }  
      matcher.reset();
      matcher.usePattern(Pattern.compile("(a*b)(foob)"));
      
      while(matcher.find()) {
         //打印给定组捕获的子序列的开始索引。
         System.out.println("Second Capturing Group, (fooab) Match String start(): "+matcher.start(1));
      }  
   }
}

让无涯教程编译并运行以上程序,这将产生以下输出-

Second Capturing Group, (foo) Match String start(): 0
Second Capturing Group, (foo) Match String start(): 6
Second Capturing Group, (foo) Match String start(): 12
Second Capturing Group, (fooab) Match String start(): 12

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

从0开始学大数据 -〔李智慧〕

面试现场 -〔白海飞〕

性能测试实战30讲 -〔高楼〕

RPC实战与核心原理 -〔何小锋〕

职场求生攻略 -〔臧萌〕

动态规划面试宝典 -〔卢誉声〕

爱上跑步 -〔钱亮〕

技术面试官识人手册 -〔熊燚(四火)〕

手把手带你写一个Web框架 -〔叶剑峰〕

好记忆不如烂笔头。留下您的足迹吧 :)