Computer >> Máy Tính >  >> Lập trình >> Java

Tìm một kết hợp trong một kết hợp khác các biểu thức chính quy Java

Để so khớp một mẫu trong một đối sánh khác, bạn cần biên dịch biểu thức chính quy để khớp với mẫu bên ngoài. Tìm đối sánh lấy kết quả và chuyển kết quả làm đầu vào cho đối tượng Matcher bên trong.

Ví dụ

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());
         }
      }
   }
}

Đầu ra

Enter input text:
This is sample HTML data 123 sample text hello
123