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
参考链接
https://www.learnfk.com/javaregex/javaregex-pattern-compile1.html
标签:regex,util,Java,String,Pattern,compile,static From: https://blog.51cto.com/u_14033984/9032077