iT邦幫忙

0

Java的Regex中的Pattern Class (2)

閱讀時間: 5分鐘

java.util.regex.Pattern 是其中一個主要連接Regular expression的API。
而Pattern Class 可以改善效率的問題。

接上一篇文章,繼續為大家講解一下Pattern Class的內容。
當大家要使用Pattern.compile()時,就會使用到Pattern.matcher()。

Pattern.matcher()
它的作用是連結一個Regular expression(簡稱Regex)和一個被用於搜尋的text或者String,目的是驗證那個text或者String是不是包含Regex。

import java.util.regex.*; 
public class compileCase{ 
    public static void main(String[] args) 
    { 
        //首先創建一個Regex 
        String REGEX = ".*www.*"; 

        //創建第2個Regex
        String REGEX2 = ".*uppen*";
  
        // 創建一個String, 會被用於搜尋的text
        String actualString 
            = "www.uppengarden.com"; 

		// 創建第2個String, 會被用於搜尋的text
        String actualString2 
            = “happy&uppen"; 
  
        // 使用compile() method 
        Pattern pattern = Pattern.compile(REGEX); 
  
        // 創建一個 matcher物件 
        Matcher matcher = pattern.matcher(actualString); 
  
        // 驗證REGEX是否在actualString中
        boolean matches = matcher.matches(); 
  
        System.out.println("actualString "
                           + "contains REGEX = "
                           + matches); 
    } 
}

解釋:

Matcher matcher = pattern.matcher(actualString);

pattern是指用哪個Regex,而String REGEX是其中一個選擇。
matcher()中的參數是指在哪個test或者String做搜尋,而String actualString是其中一個選擇。

Pattern.pattern()
目的是返回pattern的string (Regex)。
Matcher matcher = pattern.matcher(actualString);
想知道String pattern正在用哪一個Regex。

import java.util.regex.pattern; 
public class compileCase2{ 
    public static void main(String[] args) 
    { 
        //首先創建一個Regex 
        String REGEX = ".*www.*"; 

        //創建第2個Regex
        String REGEX2 = ".*uppen*";
  
        // 創建一個String, 會被用於搜尋的text
        String actualString 
            = "www.uppengarden.com"; 

		// 創建第2個String, 會被用於搜尋的text
        String actualString2 
            = “happy&uppen"; 
  
        // 使用compile() method 
        Pattern pattern = Pattern.compile(REGEX); 
  
        // 創建一個 matcher物件 
        Matcher matcher = pattern.matcher(actualString); 
  
        // 返回pattern的Regex,目前是String REGEX
        String pattern2 = pattern.pattern();
    } 
}

尚未有邦友留言

立即登入留言