在其他匹配內查詢匹配 Java 正則表示式
要在另一個匹配內匹配模式,你需要編譯以匹配外部模式的正則表示式,找到匹配項,檢索結果並將結果作為輸入傳遞給內部匹配器物件。
示例
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatcherExample {
public static void main(String[] args) {
int start = 0, len = -1;
Scanner sc = new Scanner(System.in);
System.out.println("Enter input text: ");
String input = sc.nextLine();
String regexOuter = "<b>(.*?)</b>";
String regexInner = "\d+";
//Creating a pattern object
Pattern patternOuter = Pattern.compile(regexOuter);
Pattern patternInner = Pattern.compile(regexInner);
//Matching the compiled pattern in the String
Matcher outerMatcher = patternOuter.matcher(input);
while (outerMatcher.find()) {
Matcher innerMatcher = patternInner.matcher(outerMatcher.group(1));
while(innerMatcher.find()){
System.out.println(innerMatcher.group());
}
}
}
}輸出
Enter input text: This is sample HTML data 123 sample text hello 123
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP