앵커
| 토큰 | 의미 | 예제 |
^ | 문자열 시작(또는 m 플래그 사용 시 줄 시작) | ^Hello |
$ | 문자열 끝(또는 m 플래그 사용 시 줄 끝) | world$ |
\b | 단어 경계 | \bcat\b |
\B | 단어 경계 아님 | \Bcat |
문자 클래스
| 토큰 | 의미 | 예제 |
. | 새 줄을 제외한 임의의 문자 | a.c |
\d | 0–9 숫자 하나 | \d\d |
\D | 숫자가 아닌 문자 하나 | \D+ |
\w | 단어 문자(a–z, A–Z, 0–9, _) | \w+ |
\W | 단어 문자가 아닌 것 | \W |
\s | 공백 문자 | a\sb |
\S | 공백이 아닌 문자 | \S+ |
[abc] | 집합에 포함된 문자 하나 | [aeiou] |
[^abc] | 집합에 없는 문자 하나 | [^0-9] |
[a-z] | a부터 z까지 범위 안의 문자 | [A-Z] |
수량자
| 토큰 | 의미 | 예제 |
* | 앞 항목 0회 이상 | ab* |
+ | 앞 항목 1회 이상 | ab+ |
? | 앞 항목 0회 또는 1회(옵션) | ab? |
{n} | 앞 항목을 정확히 n회 | \d{4} |
{n,} | 앞 항목을 n회 이상 | \d{2,} |
{n,m} | 앞 항목을 n회 이상 m회 이하 | \d{2,4} |
*? | 게으른 수량자 — 가능한 한 적게 매칭 | <.*?> |
그룹 & 룩어라운드
| 토큰 | 의미 | 예제 |
(abc) | 캡처 그룹 | (\d+) |
(?:abc) | 비캡처 그룹 | (?:ab)+ |
(?<name>) | 이름 있는 캡처 그룹 | (?<year>\d{4}) |
a|b | 선택 — a 또는 b | cat|dog |
(?=abc) | 긍정형 룩어헤드 | \d(?=px) |
(?!abc) | 부정형 룩어헤드 | \d(?!px) |
(?<=abc) | 긍정형 룩비하인드 | (?<=\$)\d+ |
(?<!abc) | 부정형 룩비하인드 | (?<!\$)\d+ |
\1 | 1번 그룹에 대한 역참조 | (\w)\1 |
특수 문자 & 이스케이프
| 토큰 | 의미 | 예제 |
\. | 리터럴 점 문자(특수 문자 이스케이프) | 3\.14 |
\uXXXX | 코드 포인트로 지정한 유니코드 문자 | é |
플래그
| 토큰 | 의미 | 예제 |
g | Global — 모든 매칭 찾기 | /\d+/g |
i | 대소문자 구분 없이 매칭 | /abc/i |
m | 멀티라인 — ^와 $가 줄바꿈 기준으로 동작 | /^x/m |
s | Dotall — .이 줄바꿈도 매칭 | /a.b/s |
u | 유니코드 모드 | /\u{1F600}/u |
y | Sticky — lastIndex 위치에서만 매칭 | /\d/y |
직접 시험해 보기
테스터로 이동해 위 토큰들을 자유롭게 실험해 보세요.
정규식 테스터 열기