Java 正则 中的 static Pattern compil

首页 / 正则入门教程 / Java 正则 中的 static Pattern compil

java.util.regex.Pattern.compile(String regex,int flags)方法将给定的正则表达式编译为一个模式。

static Pattern compile - 声明

以下是 java.util.regex.Pattern.compile(String regex,int flags)方法的声明。

public static Pattern compile(String regex, int flags)
  • regex     - 要编译的表达式。

  • flags      - 匹配标志,它是一个位掩码,可能包括CASE_INSENSITIVE,MULTILINE,DOTALL,UNICODE_CASE,CANON_EQ,UNIX_LINES,LITERAL,UNICODE_CHARACTER_CLASS和COMMENTS。

static Pattern compile - 异常

  • IllegalArgumentException   - 如果在标志中设置了与定义的匹配标志相对应的位以外的位。

  • PatternSyntaxException       - 如果表达式的语法无效。

static Pattern compile - 示例

下面的示例演示java.util.regex.Pattern.compile(String regex,int flags)方法的用法。

package com.learnfk;

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

public class PatternDemo {
   private static final String REGEX = "(.*)(\\d+)(.*)?# 3 capturing groups";
   private static final String INPUT = "This is a sample Text, 1234, with numbers in between.";

   public static void main(String[] args) {
      //创建一个模式
      Pattern pattern = Pattern.compile(REGEX,Pattern.COMMENTS);
      
      //获取匹配器对象
      Matcher matcher = pattern.matcher(INPUT); 

      if(matcher.find()) {
         //获取 MatchResult 对象
         MatchResult result = matcher.toMatchResult();

         //在匹配的最后一个字符之后打印偏移量。
         System.out.println("First Capturing Group - Match String end(): "+result.end());         
      }
   }
}

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

First Capturing Group - Match String end(): 53

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

技术教程推荐

玩转Spring全家桶 -〔丁雪丰〕

Swift核心技术与实战 -〔张杰〕

打造爆款短视频 -〔周维〕

零基础入门Spark -〔吴磊〕

搞定音频技术 -〔冯建元 〕

说透元宇宙 -〔方军〕

深入拆解消息队列47讲 -〔许文强〕

结构思考力 · 透过结构看思考 -〔李忠秋〕

程序员职业规划手册 -〔雪梅〕

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