ในการจับคู่รูปแบบภายในการจับคู่อื่น คุณต้องรวบรวมนิพจน์ทั่วไปเพื่อให้ตรงกับรูปแบบภายนอก ค้นหาการจับคู่ดึงผลลัพธ์และส่งผลลัพธ์เป็นอินพุตไปยังออบเจ็กต์ Matcher ภายใน
ตัวอย่าง
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