- Java 正則表達教程
- Java 正則表達 - 主頁
- Java 正則表達 - 總覽
- Java 正則表達 - 捕獲組
- Java 正則表達 - MatchResult 介面
- Java 正則表達 - Pattern 類
- Java 正則表達 - Matcher 類
- PatternSyntaxException 類
- Java 正則表達示例
- Java 正則表達 - 字元
- Java 正則表達 - 字元類
- 預定義字元類
- POSIX 字元類
- Java 正則表達 - JAVA 字元類
- Unicode 字元類
- Java 正則表達 - 邊界匹配符
- Java 正則表達 - 貪婪限定符
- Java 正則表達 - 不情願限定符
- Java 正則表達 - 獨佔性限定符
- Java 正則表達 - 邏輯運算子
- Java 正則表達有用資源
- Java 正則表達 - 快速指南
- Java 正則表達 - 有用資源
- Java 正則表達 - 討論
java.util.regex.Matcher.usePattern()方法
描述
java.util.regex.Matcher.usePattern(Pattern newPattern) 方法更改此 Matcher 用於查詢匹配項的模式。
宣告
以下是 java.util.regex.Matcher.usePattern(Pattern newPattern) 方法的宣告。
public Matcher usePattern(Pattern newPattern)
public Matcher usePattern(Pattern newPattern)
引數
newPattern - 此匹配器使用的新的模式。
返回值
此匹配器。
異常
IllegalArgumentException - 如果 newPattern 為 null。
示例
package com.tutorialspoint;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatcherDemo {
private static String REGEX = "(a*b)(foo)";
private static String INPUT = "aabfooaabfooabfoob";
public static void main(String[] args) {
// create a pattern
Pattern pattern = Pattern.compile(REGEX);
// get a matcher object
Matcher matcher = pattern.matcher(INPUT);
while(matcher.find()) {
//Prints the start index of the subsequence captured by the given group.
System.out.println("Second Capturing Group, (foo) Match String start(): "+matcher.start(1));
}
matcher.reset();
matcher.usePattern(Pattern.compile("(a*b)(foob)"));
while(matcher.find()) {
//Prints the start index of the subsequence captured by the given group.
System.out.println("Second Capturing Group, (fooab) Match String start(): "+matcher.start(1));
}
}
}
現場演示
Second Capturing Group, (foo) Match String start(): 0 Second Capturing Group, (foo) Match String start(): 6 Second Capturing Group, (foo) Match String start(): 12 Second Capturing Group, (fooab) Match String start(): 12
讓我們編譯並執行上述程式,這將產生以下結果 -
列印頁面