当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Pattern compile(String,int)用法及代码示例


Pattern类的compile(String,int)方法用于借助标志在正则表达式中创建模式,其中标志和标志均作为参数传递给方法。 Pattern类包含一个标志列表(int常量),这些标志可以帮助使Pattern匹配以某些方式起作用。例如,标记名称CASE_INSENSITIVE用于在匹配时忽略文本的大小写。

用法:

public static Pattern compile(String regex, int flags)

参数:此方法接受两个参数:


  • regex:此参数表示编译为模式的给定正则表达式。
  • flag:此参数是代表匹配标志的整数,它是一个位掩码,可以包括CASE_INSENSITIVE,MULTILINE,DOTALL,UNICODE_CASE,CANON_EQ,UNIX_LINES,LITERAL,UNICODE_CHARACTER_CLASS和COMMENTS。

返回值:此方法返回从传递的正则表达式和标志编译的模式。

异常:此方法引发以下异常:

  • PatternSyntaxException:如果表达式的语法无效,则会引发此异常。
  • IllegalArgumentException:如果在标志中设置了与定义的匹配标志相对应的位以外的其他位,则会引发此异常。

以下示例程序旨在说明compile(String,int)方法:

程序1:

// Java program to demonstrate 
// Pattern.compile method 
  
import java.util.regex.*; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
        // create a REGEX String 
        String REGEX = "(.*)(for)(.*)?"; 
  
        // create the string 
        // in which you want to search 
        String actualString 
            = "code of Machine"; 
  
        // compile the regex to create pattern 
        // using compile() method 
        Pattern pattern = Pattern.compile(REGEX,  
                           Pattern.CASE_INSENSITIVE); 
  
        // check whether Regex string is 
        // found in actualString or not 
        boolean matches = pattern 
                              .matcher(actualString) 
                              .matches(); 
  
        System.out.println("actualString "
                           + "contains REGEX = "
                           + matches); 
    } 
}
输出:
actualString contains REGEX = false

程序2:

// Java program to demonstrate 
// Pattern.compile method 
  
import java.util.regex.*; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
        // create a REGEX String 
        String REGEX = ".*org.*"; 
  
        // create the string 
        // in which you want to search 
        String actualString 
            = "geeksforgeeks.org"; 
  
        // compile the regex to create pattern 
        // using compile() method 
        Pattern pattern = Pattern.compile(REGEX,  
                             Pattern.CASE_INSENSITIVE); 
  
        // check whether Regex string is 
        // found in actualString or not 
        boolean matches = pattern 
                              .matcher(actualString) 
                              .matches(); 
  
        System.out.println("actualString "
                           + "contains REGEX = "
                           + matches); 
    } 
}
输出:
actualString contains REGEX = true

参考文献:
https://docs.oracle.com/javase/10/docs/api/java/util/regex/Pattern.html#compile(java.lang.String, int)



相关用法


注:本文由纯净天空筛选整理自AmanSingh2210大神的英文原创作品 Pattern compile(String,int) method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。