자주 사용하는 Java 정규 표현식을 기록해둔다.
언어에 따라 정규 표현식은 살짝씩 다르나 거의 대동소이하다.
- 문자열 관련
- 문자 관련
- .: 임의의 1개 문자
- *: 앞 문자가 없을 수도 있고 무한할 수도 있음(와일드카드, 아스터마크)
- +: 앞 문자가 1개 이상
- ?: 앞 문자가 없거나 하나 있음
- []: 문자의 집합이나 범위(안에 [^*]와 같이 ^가 앞에 존재하면 부정을 의미)
- -: 사이의 문자 혹은 숫자
- 연산/기능 관련
- {}: 횟수 혹은 범위
- (): 소괄호 안의 문자를 하나의 문자로 인식
- |: 패턴 안에서 or 연산 수행
- (?i): 앞에 삽입하면 대소문자 구별 X
- \ 관련
- \: 탈출문자 기능
- \b: 단어의 경계
- \B: 단어가 아닌 것의 경계
- \A: 입력의 시작 부분
- \G: 이전 매치의 끝
- \Z: 입력의 끝이지만 종결자가 있는 경우
- \z: 입력의 끝
- \s: 공백 문자
- \S: 공백 문자가 아닌 나머지 문자
- \w: 알파벳이나 숫자
- \W: 알파벳이나 숫자를 제외한 문자
- \d: 숫자
- \D: 숫자를 제외한 모든 문자
위 표현식을 기본으로 아래 연습 사이트에 들어가 여러번 두드려 보면 크게 어렵지 않다.
regex 연습 사이트
https://regexr.com/
기타 Java 정규 표현식을 정리한 글