정규식 Regular Expression
정규식 표현 | 설명 |
---|---|
^x | 문자열이 x로 시작합니다. |
x$ | 문자열이 x로 끝납니다. |
. | 임의의 한 문자를 표현합니다. |
x* | x가 0번 이상 반복합니다. |
x+ | x가 1번 이상 반복합니다. |
x? | x가 존재하거나 존재하지 않습니다. |
x|y | x 또는 y를 찾습니다. or연산자. |
(x) | x를 그룹화 합니다. |
(x)(y) | x 그룹과 y 그룹을 and 연산으로 진행합니다. |
(x)(?:y) | |
x{n} | x를 n번 반복한 문자를 찾습니다. |
x{n,} | x를 n번 이상 반복한 문자를 찾습니다. |
x{n,m} | x를 n번이상 m번이하 반복한 문자를 찾습니다. |
[xy] | x, y중 하나를 찾습니다. |
[^xy] | x,y를 제외하고 문자 하나를 찾습니다. |
[x-z] | x~z사이의 문자중 하나를 찾습니다. |
\^ | ^(escape)를 식에 문자 자체로 찾습니다. |
\b | 문자와 공백사이의 문자를 찾습니다. |
\B | 문자와 공백사이가 아닌 값을 찾습니다. |
\d | 숫자를 찾습니다. |
\D | 숫자가 아닌 값을 찾습니다. |
\s | 공백 문자를 찾습니다. |
\S | 공백이 아닌 문자를 찾습니다. |
\t | Tab 문자를 찾습니다. |
\v | Vertical Tab 문자를 찾습니다. |
\w | 알파벳 + 숫자 + _를 찾습니다. |
\W | 알파벳 + 숫자 + _를 제외한 모든 문자를 찾습니다. |
[:alnum:] | 알파벳과 숫자를 찾습니다. |
[:alpha:] | 알파벳을 찾습니다. |
[:digit:] | 숫자를 찾습니다. |
[:lower:] | 알파벳 소문자를 찾습니다. |
[:upper:] | 알파벳 대문자를 찾습니다. |
[:blank:] | 탭과 공백을 찾습니다. |
- *?, +?, {n,}? 는 Greedy방식이 아닌 Lazy 방식(가능한 적은 수의 문자와 일치되도록)으로 동작합니다.
- 예문 : internationalization
i\w+n
결과: internationalizationi\w+?n
결과: internationalization
특정 문자열을 제외하고 검색하고 싶을 때:
^((?!<문자열>).)*$
- \1: 이전 캡쳐 그룹의 n번째와 일치. 예를들어 \1은 첫번째, \2는 두번째 캡쳐 그룹과 일치
(\w)a\1
결과:hah
dad
bad dabgag
gab
- (?ABC): 캡처 그룹을 만들지 않고 여러 토큰을 그룹화 함
(?:ha)+
결과:hahaha
ha
aha
h!
- /정규식/gi 식으로 옵션(Option Modifier 또는 Flag)을 붙일 수 있습니다.
- i: 대소문자 구분 없이
- g: 모든 영역 적용
This post is licensed under CC BY 4.0 by the author.