Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 정규식에서 여러 줄 일치

<시간/>

여러 줄로 입력 데이터를 일치/검색하려면 -

  • 입력 문자열을 가져옵니다.

  • split 메소드에 매개변수로 "\r?\n"을 전달하여 토큰 배열로 분할합니다.

  • 패턴 클래스의 compile() 메서드를 사용하여 필요한 정규식을 컴파일합니다.

  • matcher() 메서드를 사용하여 matcher 객체를 검색합니다.

  • for 루프에서 find() 메서드를 사용하여 배열의 각 요소(새 줄)에서 일치하는 항목을 찾습니다.

  • reset() 메서드를 사용하여 배열의 다음 요소로 매처의 입력을 재설정합니다.

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatchingText{
   public static void main(String[] args) {
      String input = "sample text line 1 \n line2 353 35 63 \n line 3 53 35";
      String regex = "\\d";
      String[] strArray = input.split("\r?\n");
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Matching the compiled pattern in the String
      Matcher matcher = pattern.matcher(input);
      for (int i = 0; i < strArray.length; i++) {
         matcher.reset(strArray[i]);
         System.out.println("Line:: "+(i+1));
         while (matcher.find()) {
            System.out.print(matcher.group()+" ");
         }
      System.out.println();
      }
   }
}

출력

Line:: 1
1
Line:: 2
2 3 5 3 3 5 6 3
Line:: 3
3 5 3 3 5