Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ค้นหาการจับคู่ภายในนิพจน์ปกติของ Java ที่ตรงกันอีกรายการ


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