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