Pattern 類是 Java 正則表達式中的一個重要類,它用于創建一個正則表達式模式對象。
Pattern 類的常用方法如下:
1. compile(String regex):將給定的正則表達式編譯成一個模式對象。
2. matcher(CharSequence input):創建一個匹配給定輸入與此模式的匹配器。
3. matches(String regex, CharSequence input):判斷給定的輸入是否與正則表達式匹配。
4. pattern():返回當前模式的正則表達式字符串表示。
5. split(CharSequence input):根據正則表達式將輸入字符串拆分成字符串數組。
6. replaceFirst(String replacement):使用給定的替換字符串替換第一個匹配的子字符串。
7. replaceAll(String replacement):使用給定的替換字符串替換所有匹配的子字符串。
示例代碼如下:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
public static void main(String[] args) {
String input = "Hello, World!";
String patternString = "Hello";
// 編譯正則表達式
Pattern pattern = Pattern.compile(patternString);
// 創建匹配器
Matcher matcher = pattern.matcher(input);
// 查找匹配
if(matcher.find()) {
System.out.println("Found match at index " + matcher.start());
} else {
System.out.println("No match found");
}
// 判斷輸入是否與正則表達式匹配
boolean isMatch = Pattern.matches(patternString, input);
System.out.println("Input matches pattern: " + isMatch);
// 使用正則表達式拆分字符串
String[] splitArray = pattern.split(input);
for(String s : splitArray) {
System.out.println(s);
}
// 使用替換字符串替換第一個匹配的子字符串
String replacedString = pattern.replaceFirst("Hi");
System.out.println("Replaced string: " + replacedString);
// 使用替換字符串替換所有匹配的子字符串
String replacedAllString = pattern.replaceAll("Hi");
System.out.println("Replaced all string: " + replacedAllString);
// 獲取當前模式的正則表達式字符串表示
String patternString2 = pattern.pattern();
System.out.println("Pattern string: " + patternString2);
}
}
```
在上述示例代碼中,首先使用 `Pattern.compile()` 方法將正則表達式編譯成一個模式對象,然后使用該模式對象創建一個匹配器。可以使用匹配器的 `find()` 方法來查找匹配的子字符串,并使用 `start()` 方法獲取匹配的起始位置。
可以使用 `Pattern.matches()` 方法來判斷給定的輸入字符串是否與正則表達式匹配。使用 `pattern.split()` 方法可以根據正則表達式將輸入字符串拆分成字符串數組。使用 `pattern.replaceFirst()` 和 `pattern.replaceAll()` 方法可以使用給定的替換字符串替換匹配的子字符串。
最后,可以使用 `pattern.pattern()` 方法獲取當前模式的正則表達式字符串表示。