문자열 데이터 중에서 원하는 조건(패턴)과 일치하는 문자열 부분을 찾아내기 위해 사용하는 것
미리 정의된 기호와 문자를 이용해서 작성한 문자열
String 문자열에 바로 정규표현식을 적용하여 필터링이 가능
String 클래스에서 지원하는 정규식 메소드로는 다음 3가지가 존재
[]
split(String regex)정규 표현식을 전문적으로 다루는 클래스인 java.util.regex 패키지를 제공
Pattern 클래스와 Matcher 클래스가 사용
정규식을 Pattern 객체로 미리 컴파일 해둘수 있어서 처리 속도가 좀 더 빠름
매칭된 데이터를 좀더 상세히 다룰 수 있음
문자열을 정규표현식 패턴 객체로 변환해주는 역할
공개된 생성자를 제공하지 않음
정규식 패턴 객체를 생성하려면 compile()
정적 메소드를 호출
matches()
메소드를 활용하여 정규식 검증을 할 수도 있음
정규표현식의 패턴과 문자열이 일치하는지 체크
일치할 경우 true, 일치하지 않는 경우 false를 리턴
()
()
대상 문자열의 패턴을 해석하고 주어진 패턴과 일치하는지 판별하고 반환된 필터링된 결과값들을 지니고 있음
공개된 생성자가 없음
Pattern 객체의 matcher()
메소드를 호출해서 얻음
Pattern.compile()
을 통해 정규식문자열을 패턴 객체로 변환
패턴 객체에서 matcher()
메소드를 통해 문자열을 비교하고 검사한 결과값을 담은 매처 객체를 반환
매처 객체에서 메소드로 원하는 결과값을 뽑음
Pattern.matches()
메소드는 단순히 참/거짓 만 결과를 반환하지만 Matcher 클래스의 group()
메소드를 통해 필터링된 문자열을 출력
()
패턴이 일치하는 경우 true를 반환, 불일치하는 경우 false반환
여러개가 매칭되는 경우 반복실행하면 일치하는 부분 다음부터 이어서 매칭됨
()
()
()
()
()
패턴이 전체 문자열과 일치할 경우 true반환
일부 문자열이 아닌 전체 문자열과 완벽히 일치 해야함
출처 : 자바 정규식 사용법 정리