KO
내 도구

정규식 테스터(JavaScript)

정규식이 텍스트의 어디에 일치하는지 위치와 캡처 그룹을 표로 보여 주고, 찾아 바꾸기 결과도 미리 봅니다. JavaScript 정규식 엔진 기준입니다.

슬래시 없이 패턴만 입력하거나, /ab+c/gi 같은 리터럴을 붙여 넣으세요.
$1, $2 …는 그룹, $<name>은 이름 있는 그룹, $&는 일치한 전체, $$는 달러 기호를 넣습니다. 비워 두면 일치한 부분이 삭제됩니다.
내 도구 →
광고

패턴과 예시 텍스트를 입력하면, 계산하기를 누른 뒤 정규식이 정확히 무엇에 일치하는지 각 일치 항목의 위치와 캡처 그룹까지 볼 수 있습니다. 이 테스터는 브라우저의 JavaScript RegExp 엔진, 즉 JavaScript 프로그램에서 쓰는 것과 같은 RegExp API를 사용하며, 패턴을 코드에 넣기 전에 $1 형태의 참조를 쓰는 찾아 바꾸기 결과를 미리 볼 수 있습니다.

사용 방법

  1. 슬래시 없이 패턴을 입력하거나 /\d+/gi 같은 리터럴을 붙여 넣습니다.
  2. 필요한 플래그 g, i, m, s, u를 선택합니다.
  3. 검색할 텍스트를 붙여 넣습니다.
  4. 원하면 바꿀 내용을 입력해 text.replace() 결과를 미리 봅니다.
  5. 계산하기를 누릅니다. 일치 개수를 읽은 뒤 일치 항목과 그룹 표를 확인합니다.

계산식

반복: match = re.exec(text) (re.lastIndex부터), g 플래그가 있는 동안

g가 없으면 첫 번째 일치만 반환합니다. 위치는 JavaScript의 match.index처럼 UTF-16 코드 단위를 0부터 센 값입니다. 빈 문자열에 일치한 뒤에는 한 위치(u나 v에서는 코드 포인트 하나)씩 앞으로 가므로 x* 같은 패턴도 무한 반복하지 않습니다. 패턴은 별도의 워커에서 2초 제한으로 실행되며, 느린 표현식은 페이지를 멈추지 않고 중단됩니다.

예시

기본 패턴 (\d{4})-(\d{2})-(\d{2})는 예시 문장에서 일치 항목 2개를 찾습니다. 인덱스 15의 2026-03-15와 인덱스 30의 2026-10-01이며, 각각 그룹이 3개(연, 월, 일)입니다. 2026/12/01은 슬래시를 써서 건너뜁니다. 치환 $2/$3/$1은 문장을 "Invoices dated 03/15/2026 and 10/01/2026 are due…"로 바꿉니다.

자주 묻는 질문

내 정규식이 Python, PHP, Java에서도 똑같이 동작하나요?

문자 클래스, 수량자, 그룹, 앵커 같은 기본은 공통이지만, 소유 수량자(JavaScript에는 없음), 이름 있는 그룹의 문법, 일부 이스케이프 같은 기능은 언어마다 다릅니다. 실제로 쓸 언어에서 경계 사례를 다시 테스트하세요.

일치 항목이 하나만 나오는 이유는 무엇인가요?

g(전역) 플래그가 꺼져 있기 때문입니다. 이 플래그가 없으면 JavaScript는 첫 번째 일치에서 멈추고 replace()도 그것 하나만 바꿉니다.

점(.)이 줄을 넘어 일치하지 않는 이유는 무엇인가요?

기본적으로 점은 줄바꿈을 제외합니다. s(dotAll)를 선택하거나 점 대신 [\s\S]를 쓰세요.

패턴이 시간 초과된 이유는 무엇인가요?

(a+)+$ 같은 중첩 수량자는 백트래킹이 오래 걸릴 수 있습니다. 실행은 워커에서 이루어지고 2초 후 중단됩니다. 입력을 줄이거나 패턴을 단순하게 한 뒤 다시 계산하세요.

출처

최종 업데이트:

인용·퍼가기
APA

kakaoCalc. (2026, November 8). 정규식 테스터(JavaScript). https://kakao.mobile/ko/tools/regex-tester/

MLA

“정규식 테스터(JavaScript).” kakaoCalc, 8 Nov. 2026, kakao.mobile/ko/tools/regex-tester/.

광고