當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。