개발자

정규식 테스터

정규식 패턴을 작성하고 테스트 텍스트를 붙여넣으면 입력하는 동안 모든 일치 항목이 실시간으로 강조 표시됩니다. 패턴이 작동하는지 추측하지 말고 직접 확인하세요.

이 계산기가 도움이 되었나요?

정규식 테스터이란?

regex 테스터는 샘플 텍스트에 대해 정규 표현식을 실시간으로 테스트할 수 있는 필수 개발 도구로, 패턴이 올바르게 일치하는지에 대한 즉각적인 시각적 피드백을 제공합니다. 정규 표현식은 일반적으로 regex로 알려져 있으며, 거의 모든 프로그래밍 언어와 텍스트 편집기에서 텍스트 검색, 검증, 추출 및 조작에 사용되는 강력한 시퀀스 기반 패턴입니다. 이 도구를 사용하면 regex 패턴을 작성하고 테스트 텍스트를 붙여넣으면, 모든 일치 항목이 위치, 캡처 그룹 내용 및 일치 수와 함께 즉시 하이라이트됩니다. 웹 폼에서 이메일이나 전화번호 검증, 비구조화된 텍스트에서 날짜나 가격 추출, 코드베이스의 검색-대체 패턴 구축, regex 구문 학습에 이상적입니다. JavaScript의 모든 regex 기능을 지원하며 내장 regex 치트 시트도 갖추고 있습니다.

이 계산기를 사용해야 할 때

  • 웹 폼에서 사용자 입력 검증.
  • 기존 코드에서 실패한 일치 디버깅.
  • regex 구문을 대화형으로 학습.
  • 텍스트에서 특정 데이터 추출.
  • 검색 및 대체 패턴 구축.
  • 폼 유효성 검사기 테스트.

단계:

  1. 표준 정규식 문법을 사용하여 패턴 입력란에 정규식 패턴을 입력하세요 — 예를 들어 전화번호를 매칭하려면 \d{3}-\d{4}, 이메일 검증에는 ^[\w.-]+@[\w.-]+\.\w{2,}$
  2. 적절한 플래그를 선택.
  3. 테스트 텍스트를 입력하거나 붙여넣기.
  4. 결과 패널을 확인.
  5. 치트 시트 패널을 사용.

공식

패턴 + 플래그 → RegExp → 테스트 텍스트에 대해 실행 → 일치 배열 일반적인 패턴: - \d+ → 하나 이상의 숫자 - [a-zA-Z]+ → 하나 이상의 문자 - ^…$ → 시작/끝 앵커 - (…) → 캡처 그룹

사용 사례

  • 이메일 주소, 전화번호, URL 검증
  • 텍스트에서 패턴 추출(날짜, 가격, ID)
  • 텍스트 편집기에서 찾기 및 바꾸기 작업
  • 웹 양식에서 입력값 검증

주요 이점

  • 실시간 정규 표현식 테스트
  • 캡처 그룹 내용 표시
  • JavaScript 정규 표현식 기능 지원
  • regex 치트 시트 포함
  • 브라우저 내에서 완전히 작동, 프라이버시 보호
  • 등록 불필요, 광고 없음, 제한 없이 무료. 개발 세션 중 빠른 regex 테스트에 이상적

전문가 팁

  • 정규 표현식 패턴을 단순하게 유지하세요
  • 캡처 그룹의 내용을 확인하세요
  • 수량자를 올바르게 사용하세요
  • 앵커를 활용하여 위치를 지정하세요
  • 브라우저 개발자 도구로 디버깅하세요

피해야 할 일반적인 실수

  • 특수 문자 이스케이프를 잊어버림
  • 탐욕 게으른 수량자의 차이를 이해하지 않음
  • 캡처 그룹 내용을 확인하지 않음
  • 정규 표현식 성능을 고려하지 않음

주요 용어 설명

패턴: regex 구문으로 작성된 검 {3} {4} 색 표현식.
플래그: 동작을 수정하는 옵션.
일치: 패턴의 성공적인 발생.
캡처 그룹: 괄호로 감싸진 패턴 부분.
쿼น티피어: 앞 요소가 몇 번 발생해야 하는지 {n} 지정하는 문자.

관련 개념

  • 정규 표현식(Regex): 텍스트 매칭을 위한 검색 패턴을 정의하는 문자 시퀀스.
  • 캡처 그룹: 일치 항목의 특정 부분을 추출하는 정규식의 괄호로 묶인 부분.
  • 수량자: 앞선 요소가 몇 번 발생해야 하는지 지정하는 문자(예: +, *, ?, {n}).
  • 앵커: 문자가 아닌 텍스트 내 위치와 일치하는 너비가 0인 어서션(시작은 ^, 끝은 $).
  • 전방탐색/후방탐색: 텍스트를 소비하지 않고 현재 위치 앞이나 뒤의 패턴을 확인하는 너비가 0인 어서션.

예시

패턴: ^[\w.-]+@[\w.-]+\.\w{2,}$ 와 테스트 텍스트: "[email protected] 또는 [email protected]로 문의하세요"는 두 이메일 주소 모두와 일치하며 결과 목록에 표시됩니다.

결과 해석 방법

일치 수와 하이라이트된 텍스트를 보고 시작합니다. 일치가 예상되지만 보이지 않으면 다음을 확인하세요: (1) 글로벌 플래그(g)가 설정되어 있나요? (2) 특수 문자를 올바르게 이스케이프하고 있나요? (3) 앵커가 올바른가요? 캡처 그룹 패널은 패턴의 각 괄호 부분이 무엇을 캡처했는지 보여줍니다.

자주 묻는 질문

정규 표현식이란 무엇인가요?
정규식은 검색 패턴을 정의하는 문자 시퀀스입니다. 이메일 주소 찾기, 입력값 검증, 문자열에서 데이터 추출과 같은 텍스트 패턴 매칭에 사용됩니다.
이 도구는 어떤 정규식 엔진을 사용하나요?
이 도구는 JavaScript의 내장 RegExp 엔진을 사용하며, 그룹, 전방탐색, 수량자, 문자 클래스를 포함한 대부분의 표준 정규식 기능을 지원합니다.
일반적인 정규식 플래그는 무엇인가요?
g (전역): 첫 번째뿐만 아니라 모든 일치 항목을 찾습니다. i (대소문자 구분 안 함): 대소문자를 무시합니다. m (여러 줄): ^와 $가 줄 경계와 일치합니다. s (dotall): .이 줄바꿈과도 일치합니다.
왜 제 정규식이 일치 항목을 찾지 못하나요?
일반적인 문제: 여러 일치 항목에 대한 g 플래그 누락, 특수 문자(., *, +, ?, [, ], (, ))의 이스케이프 처리 미비, 또는 수량자의 잘못된 사용.
정규 표현식(regex)이란 무엇인가요?
정규 표현식(regex)은 문자열 내 문자 조합을 매칭하는 데 사용되는 패턴입니다. 검색, 검증, 텍스트 조작을 위한 강력한 도구입니다. 정규식은 패턴을 정의하기 위해 . * + ? ^ $ [] () {} | 와 같은 특수 문자를 사용합니다.
정규식에서 ^ 기호는 무엇을 의미하나요?
정규식에서 ^는 두 가지 의미가 있습니다: 문자 클래스 [^abc] 안에서는 '아님'(부정)을 의미합니다. 문자 클래스 밖에서는 패턴을 문자열 시작에 고정합니다. 예를 들어, ^hello는 문자열 시작에 있는 'hello'와만 일치합니다.
정규식에서 *와 +의 차이는 무엇인가요?
둘 다 수량자입니다: *는 0회 이상 발생과 일치하고(선택 사항), +는 1회 이상 발생과 일치합니다(필수). 따라서 'ab*c'는 'ac', 'abc', 'abbc' 등과 일치하지만, 'ab+c'는 'abc', 'abbc'와 일치하고 'ac'와는 일치하지 않습니다.
정규식에서 리터럴 점(.)을 어떻게 매칭하나요?
점(.)은 '모든 문자'를 의미하는 특수 문자입니다. 리터럴 점을 매칭하려면 백슬래시로 이스케이프하세요: \. 예를 들어, www\.example\.com 패턴은 해당 URL과 정확히 일치하며 'wwwXexampleYcom'과는 일치하지 않습니다.
캡처 그룹이란 무엇인가요?
캡처 그룹은 괄호()로 둘러싸인 정규식의 일부입니다. 나중에 사용하기 위해 일치하는 텍스트를 '캡처'합니다. 예를 들어, (\d{4})-(\d{2})-(\d{2})는 2024-01-15와 같은 날짜 문자열에서 연도, 월, 일을 각각 캡처합니다.
탐욕적(greedy) 매칭과 게으른(lazy) 매칭의 차이는 무엇인가요?
탐욕적 수량자(* + ? {})는 가능한 한 많은 텍스트와 일치합니다. 게으른 수량자(*? +? ?? {})는 가능한 한 적은 텍스트와 일치합니다. 예를 들어, <.*>는 '<div>내용</div>' 전체와 일치하지만(탐욕적), <.*?>는 '<div>'와 '</div>'를 각각 별도로 매칭합니다(게으른).
정규식으로 이메일을 어떻게 검증하나요?
기본 이메일 패턴: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ 이는 대부분의 유효한 이메일과 일치하지만 모든 예외 사례를 다루지는 않습니다. 프로덕션 환경에서는 국제 도메인과 특수 문자를 처리하는 전용 이메일 검증 라이브러리를 고려하세요.

더 많은 도구 살펴보기

전체 도구 라이브러리에서 엄선한 새로운 추천입니다.