본문 바로가기

Programming/Java

자바 정규식 일치하는 값, 일치하는 문자열 추출 java.lang.IllegalStateException: No match found

반응형





정규표현식을 이용하여 src 값을 추출하는데,

여기서 자바 1.4 이상부터 제공하는 util.regex 패키지의 Pattern , Matcher 클래스를 사용합니다.

사용하는 메서드


Patter Class

static Pattern compile(String regex) : 주어진 정규표현식으로부터 패턴을 만들어냅니다.

static Matcher matcher (CharSequence input) : 전달된 텍스트에서 패턴을 찾는 Matcher 객체를 만든다.

Matcher Class

find() : 패턴이 일치하는 경우 true를 반환하고, 그 위치로 이동합니다. (여러개가 매칭되는 경우 반복 실행가능함)

group() : 매칭된 부분을 반환

group(int group) : 매칭된 부분중 group번 매칭 부분을 반환


m.replaceAll("대체할문자열") 매칭후 바로 사용가능하지만



일치하는 문자열을 추출할 때 group()함수를 쓰려면,

find() 메소드를 사용해야 커서가 이동하므로 반드시 꼭 써준다


if (m.find()) {
    String result = m.group(index);

}


find() 실행하지 않을경우

 java.lang.IllegalStateException: No match found 에러가 발생한다.



반응형