정규식 테스트

정규식을 시험해 일치한 곳에 색을 칠합니다. 그룹의 내용과 치환 결과도 바로 볼 수 있습니다.

정규식과 텍스트

플래그

0자・0줄

결과

결과 보기 방식

정규식과 텍스트를 넣으면 일치한 곳에 색이 칠해집니다.

처리는 이 기기 안에서 이루어지며, 입력한 내용은 어디에도 전송되지 않습니다.

JavaScript(브라우저)의 정규식으로 동작합니다. Python・PHP・Java 등과는 쓸 수 있는 문법이 조금 다를 수 있습니다.

도움이 되었다면 공유해 주세요

잘 작동하지 않거나 ‘이랬으면 좋겠다’ 싶은 점이 있다면

사용 방법

  1. 1. 정규식 넣기

    「정규식」 입력란에 찾고 싶은 패턴을 입력합니다. \d나 [ ]처럼 입력하기 번거로운 기호는 입력란 아래의 기호 버튼을 탭하면 커서 위치에 들어갑니다. 「자주 쓰는 패턴에서 고르기」에서 이메일 주소나 날짜 같은 패턴을 골라도 됩니다. 입력란 오른쪽 위의 「의미」를 탭하면 부분마다 무엇에 일치하는지가 나옵니다.

  2. 2. 텍스트 넣기

    아래의 「검사할 텍스트」에 찾을 대상인 텍스트를 붙여넣거나 입력합니다(「예시」를 탭하면 예시 텍스트가 들어갑니다). 넣는 즉시 그 아래 「결과」에서 일치한 곳에 색이 칠해지고 일치한 개수가 나옵니다.

  3. 3. 플래그를 바꾸고 일치 목록 보기

    「플래그」의 「g 모두」를 끄면 첫 번째 하나만 찾습니다(다시 켜면 모두 찾습니다). 아래 「일치 목록」에는 일치마다 위치와 그룹($1・<year> 등)의 내용이 나옵니다. 행을 탭하면 위 텍스트에서 그 위치가 선택됩니다.

  4. 4. 일치한 부분만 추출하기

    「결과」 위에서 「추출」을 고르면 일치한 부분만 한 줄에 하나씩 나옵니다. 그룹이 있을 때는 「일치한 전체」 선택란에서 <year> 같은 그룹만 고를 수 있습니다. 「중복 제거」를 켜면 같은 것은 하나로 합쳐지고, 「추출 결과 복사」로 복사, 「텍스트로 저장」으로 파일에 저장합니다.

  5. 5. 치환을 시험하고 복사하기

    「결과」 위에서 「치환」을 고르고 「바꿀 문자열」에 $<day>/$<month>/$<year>처럼 입력하면 바꾼 텍스트가 바로 나옵니다. 「치환 결과 복사」를 탭하면 그 텍스트를 복사합니다.

이럴 때 추천

  • 작성한 정규식이 맞는지 확인하고 싶을 때

    코드에 넣기 전에 원하는 글자에만 일치하는지, 엉뚱한 곳까지 일치하지 않는지 색으로 한눈에 확인할 수 있습니다. 다 되면 Python・PHP・Go 같은 언어를 골라 코드에 그대로 붙여넣을 수 있는 형식으로 복사할 수 있습니다.

    웹 개발자・프로그래밍을 배우는 사람

  • 남이 쓴 정규식을 읽고 싶을 때

    넘겨받은 코드나 글에 있는 정규식을 붙여넣고 「의미」를 누르면, 「숫자 한 글자 4번」처럼 부분마다 무엇에 일치하는지가 짧은 말로 나옵니다.

    코드를 읽는 사람・프로그래밍을 배우는 사람

  • 로그나 표에서 정해진 형식의 글자를 뽑고 싶을 때

    이메일 주소・날짜・주문 번호 등을 찾아 「추출」로 한 줄에 하나씩 늘어놓고, 복사하거나 텍스트 파일로 저장할 수 있습니다.

    데이터를 집계하는 사람・고객 지원 담당자

  • 그룹 부분만 중복 없이 모으고 싶을 때

    이메일 주소의 도메인이나 URL의 호스트 이름처럼 ( )로 감싼 부분만 추출할 수 있습니다. 「중복 제거」를 켜면 같은 것이 여러 번 나오는 목록도 하나씩으로 정리됩니다.

    데이터를 집계하는 사람・웹 담당자

  • 일괄 변경 전에 치환을 시험하고 싶을 때

    편집기나 스프레드시트에서 한꺼번에 바꾸기 전에 $1 등을 쓴 치환 결과를 확인할 수 있습니다.

    글이나 표를 정리하는 사람

  • 폼의 입력 검사를 만들고 싶을 때

    우편번호나 전화번호 형식을 검사하는 정규식을 여러 가지 입력으로 시험하면서 만들 수 있습니다.

    폼을 만드는 사람

사용하기 전에 알아 둘 점

  • JavaScript의 정규식으로 동작합니다. Python・PHP・Java・.NET에만 있는 문법(소유 수량자 ++나 (?i) 등)은 쓸 수 없습니다.
  • 다른 언어 형식으로 복사할 때는 문법이 다른 부분을 고칠 수 있는 범위에서 고칩니다. 고칠 수 없는 것(Go의 후방 탐색 등)은 짧게 알려 주니, 그 언어에서도 시험해 보세요.
  • 시간이 너무 오래 걸리는 정규식은 2초에서 멈추고 알려 줍니다. 멈췄을 때는 반복이 겹치는 부분을 줄여 주세요.
  • 일치 목록에는 처음 300건, 색칠과 추출은 처음 5,000건까지만 합니다(개수는 끝까지 셉니다).

정규식 테스트에 대해

정규식은 「숫자 4개가 이어짐」「@를 사이에 둔 영문자와 숫자」 같은 글자의 형식을 \d{4}나 [\w.]+@[\w.]+ 같은 짧은 기호로 나타내는 방법입니다. 검색・치환・입력 검사 등 많은 프로그램과 편집기에서 쓰이지만, 조금만 잘못 써도 의도와 다른 곳에 일치해 버립니다.

이 도구는 입력할 때마다 브라우저의 JavaScript 정규식으로 바로 검사해 일치한 곳에 색을 칠합니다. 그룹(( )로 감싼 부분)과 이름 있는 그룹((?<이름>…))의 내용도 일치마다 보여 주므로, 꺼내고 싶은 부분을 제대로 잡았는지 확인할 수 있습니다. (a+)+처럼 계산이 끝나지 않는 패턴이라도 화면이 멈추지 않도록, 별도의 흐름에서 시간을 정해 검사합니다.

플래그의 차이
켜면자주 쓰는 경우
g(모두)일치하는 곳을 모두 찾음추출・모두 치환
i(대소문자 무시)A와 a를 같은 글자로 보고 찾음영어 단어 검색
m(줄마다)^와 $가 줄의 시작과 끝에 일치줄 단위 검사・로그
s(.이 줄바꿈에도).이 줄바꿈에도 일치여러 줄에 걸친 부분
u(Unicode)이모지를 한 글자로 다루고 \p{…}를 쓸 수 있음한글・한자・이모지가 섞인 텍스트

자주 묻는 질문

정규식 테스트에서 헷갈리기 쉬운 점을 정리했습니다.

넣은 텍스트나 정규식이 어딘가로 전송되나요?

전송되지 않습니다. 검사는 모두 사용 중인 기기의 브라우저 안에서 이루어지며, 넣은 텍스트나 정규식이 서버로 보내지거나 저장되는 일은 없습니다. 사내 로그나 개인정보가 담긴 텍스트에도 쓸 수 있습니다.

어떤 언어의 정규식으로 동작하나요?

JavaScript(브라우저의 RegExp) 정규식입니다. 이름 있는 그룹 (?<이름>…), 후방 탐색 (?<=…), \p{…}(u 플래그) 등도 쓸 수 있습니다. Python・PHP・Java 등과는 세부 문법이 다를 수 있으니, 다른 언어에서 쓸 때는 그 언어의 문서도 확인해 주세요.

Python이나 PHP 코드에 쓸 수 있나요?

네. 「정규식」 입력란 오른쪽 위에서 JavaScript・Python・PHP・Java・Ruby・Go 중 언어를 고르고 복사 버튼을 누르면 그 언어의 코드 형식으로 복사합니다. Python의 (?P<이름>…), Ruby의 \A・\z, Go의 (?i)처럼 문법이 다른 부분은 고칩니다. Go의 후방 탐색처럼 그 언어로는 쓸 수 없는 것은 입력란 아래에 짧게 알려 줍니다. 고른 언어는 다음에 열 때도 남아 있습니다.

「/abc/gi」 형식으로 붙여넣을 수 있나요?

네. 「정규식」 입력란이 비어 있을 때 /abc/gi 형식으로 붙여넣으면 정규식 부분과 플래그로 나눠서 들어갑니다. 반대로 입력란 오른쪽 위에서 「JavaScript」를 고르고 복사 버튼을 누르면 지금의 정규식을 /…/ 형식으로 복사해 JavaScript 코드에 그대로 붙여넣을 수 있습니다.

정규식의 의미를 확인할 수 있나요?

「정규식」 입력란 오른쪽 위의 「의미」를 누르면 정규식을 부분으로 나눠, 「숫자 한 글자 4번」 「이름이 year인 그룹」처럼 하나씩 무엇에 일치하는지 늘어놓습니다. 그룹 안은 들여쓰기해서 나오므로 괄호의 짝도 확인할 수 있습니다.

일치한 부분만 목록으로 만들 수 있나요?

「추출」을 고르면 일치한 부분이 한 줄에 하나씩 나옵니다. 그룹이 있을 때는 그 부분($1・<이름>)만 고를 수도 있습니다. 「중복 제거」로 같은 것을 하나로 합치고, 복사하거나 텍스트 파일로 저장할 수 있습니다. 플래그 g가 꺼져 있으면 첫 번째 하나만입니다.

그룹의 내용은 어디서 볼 수 있나요?

오른쪽 「일치 목록」에 일치마다 $1・$2 …(이름 있는 그룹은 <이름>)의 내용이 나옵니다. 일치하지 않은 그룹은 「(일치 없음)」으로 나옵니다.

치환에서 쓸 수 있는 표기는?

「치환」을 고르면 「바꿀 문자열」에 $1・$2 …(그룹), $<이름>(이름 있는 그룹), $&(일치한 전체), $$($ 자체)를 쓸 수 있습니다. 플래그 g가 켜져 있으면 모두, 꺼져 있으면 첫 번째 하나만 바꿉니다.

「시간이 너무 오래 걸려서 멈췄습니다」라고 나와요

(a+)+나 (.*)*처럼 반복 안에 반복이 있는 정규식은 일치하지 않는 텍스트에서 계산량이 폭발적으로 늘 수 있습니다(치명적 백트래킹). 화면이 멈추지 않도록 2초에서 멈춥니다. 반복을 하나로 합치거나, .* 대신 [^,]*처럼 일치하는 글자를 좁혀 주세요.

대소문자를 구분하지 않고 찾으려면?

「플래그」의 「i 대소문자 무시」를 켭니다. A와 a, A와 a처럼 대문자와 소문자를 같은 글자로 보고 찾습니다(전각과 반각은 여전히 다른 글자로 봅니다).

^나 $가 줄마다 일치하지 않아요

^와 $는 기본적으로 텍스트 전체의 시작과 끝에만 일치합니다. 줄마다 일치시키려면 「플래그」의 「m 줄마다」를 켭니다.

한글이나 한자를 찾을 수 있나요?

네. 「자주 쓰는 패턴에서 고르기」에 「한자」가 있습니다. 한자의 \p{Script=Han}에는 u 플래그가 필요해서, 고르면 u도 자동으로 켜집니다. 한글은 \p{Script=Hangul}이나 [가-힣]으로, 모든 문자의 글자는 u 플래그와 함께 \p{L}로 찾을 수 있습니다.

무료로 쓸 수 있나요?

무료입니다. 가입도 설치도 필요 없고 광고도 없습니다. 몇 번이든, 텍스트 길이에 신경 쓰지 않고 쓸 수 있습니다.

  • 전각·반각 변환

    영문, 숫자, 가타카나의 전각과 반각을 한 번에 변환합니다.

  • 히라가나⇔가타카나 변환

    히라가나・가타카나・반각 가나를 한꺼번에 변환합니다. 한자나 영문・숫자는 그대로 둡니다.

  • SNS 글자 수 세기(X・Instagram・YouTube)

    X・Instagram・YouTube 등의 상한까지 몇 자 남았는지 SNS마다 다른 방식으로 셉니다. 글자 수・줄 수・바이트 수도 함께 보여 줍니다.

  • JSON 정리

    JSON을 보기 좋게 정리하거나 한 줄로 줄입니다. 잘못된 곳이 있으면 위치를 알려 줍니다.

  • URL 인코딩・디코딩

    한글이나 기호를 URL에서 쓸 수 있는 형태(%EC%95%88 등)로 인코딩하거나 원래 문자로 되돌립니다.

  • 비밀번호 생성기

    길이와 사용할 문자를 골라, 추측하기 어려운 비밀번호를 그 자리에서 만듭니다.