특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식언어이다. 복잡한 문자열의 검색과 치환을 위해 사용된다.
※실습 연습에 도움이 되는 사이트 실습 사이트
상단의 Expression 에 표현식을 입력하면 그에 일치하는 문자들을 보여주는 프로그램이다.
해당사이트에는 명령어들 또한 잘 설명 되어있다.
차례대로 설명하면 이렇다.
"." = 모든 문자를 선택한다.
\w = 모든 영문자, "" 만 선택한다.
\d = 모든 숫자만 선택한다.
\s = 모든 공백을 선택한다.
\W = 모든 영문자, ""를 제외한 모두를 선택한다.
\D = 모든 숫자를 제외한 모두를 선택한다.
\S = 모든 여백을 제외한 모두를 선택한다.
[abc] = a , b , c 를 모두 선택한다.
[^abc] = a , b , c 를 제외한 모두를 선택한다.
[a - g] = a에서 g 까지의 문자를 선택한다.
^abc = abc로부터 시작하는 문장에서의 시작을 선택한다.
abc$ = abc로 끝나는 문장의 끝을 선택
\b"문자" = "문자"로 시작되는 단어 선택
"문자"\b = "문자"로 끝이나는 단어 선택
\B"문자" = "문자"로 시작되지 않는(끝이나는) 단어 선택
"문자"\B = "문자"로 끝나지 않는(시작되는) 단어 선택
a* a+ a? = a가 0개 이상, a가 1개 이상, a가 0개 또는 1개인 경우만 선택
a{5} a{2,}= a가 정확이 5개인 경우, a가 2개 이상인 경우 선택
a{1,3} = a가 1~3개 인 경우를 선택
a+? a{2,}? = a에서 부터 시작하는 단어 선택, 단 매치를 최소단위 기준으로 선택, a가 2개 이상인 경우 선택
ab | cd = ab 또는 cd를 선택
(abc) = 특정 필요한 요소만 선택할 때 그룹을 사용한다.
\1 = 역참조
(? : abc) = 내가 적은 abc 를 그룹의 결과로 나타내고 싶지 않을 때 작성(검색조건화)
(?=abc) = 긍정형 전방탐색 abc를 검색조건에는 포함시키나 결과에서는 제외시킨다.
(?!abc) = 부정형 전방탐색 abc는 결과 값에 포함시키지 않는다.