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();
}
}