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));
      }  
   }
}

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

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/javaregex/javaregex-matcher-usepattern.html

来源:LearnFk无涯教程网

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

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

技术教程推荐

DevOps实战笔记 -〔石雪峰〕

雷蓓蓓的项目管理实战课 -〔雷蓓蓓〕

架构实战案例解析 -〔王庆友〕

正则表达式入门课 -〔涂伟忠〕

MySQL 必知必会 -〔朱晓峰〕

网络排查案例课 -〔杨胜辉〕

Go进阶 · 分布式爬虫实战 -〔郑建勋〕

结构学习力 -〔李忠秋〕

AI 应用实战课 -〔黄佳〕

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