여러 줄로 입력 데이터를 일치/검색하려면 -
-
입력 문자열을 가져옵니다.
-
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