정규 표현식 확인 및 테스트

온라인에서 정규 표현식을 테스트하세요. 일치 항목을 분석하고, 오류를 수정하고, 데이터 검색을 위한 효과적인 패턴을 만드세요.

정규식 테스트

정규식 결과

일치 항목

일치 항목을 찾을 수 없음

나머지

불일치 콘텐츠 없음

유사한 도구 탐색
DevBox Tools 지원 ❤️

"정규 표현식 테스터" 도구 기능

정규 표현식 테스트

RegExp 패턴을 실시간으로 확인할 수 있어 복잡한 검색 패턴 개발 및 디버깅을 단순화합니다.

다양한 플래그 및 수정자 지원

프로그래밍 언어에서 사용되는 대소문자 구분, 전역 검색, 다중선 모드 및 기타 설정을 고려할 수 있습니다.

데이터 파싱을 위한 패턴 생성

대량의 텍스트 배열, 로그 및 HTML 코드를 자동으로 처리하기 위한 표현식을 빠르게 생성할 수 있습니다.

사용 가이드 및 상세 안내

정규 표현식(Regex)이란 무엇인가요?

정규 표현식(Regex)은 텍스트를 검색, 검증, 처리하기 위해 사용하는 패턴 매칭 언어입니다.

Regex를 사용하면 다음과 같은 작업이 가능합니다:

  • 특정 텍스트 조각 찾기 (예: 이메일, URL, 숫자)

  • 데이터 형식 검증 (폼 유효성 검사)

  • 텍스트 치환 및 정리

  • 문자열에서 구조화된 데이터 추출

Regex는 개발, 데이터 분석, SEO, 자동화에서 널리 사용됩니다.

“Regex Tester” 도구는 무엇을 하나요?

이 도구를 사용하면 정규 표현식을 실시간으로 테스트하고 즉시 결과를 확인할 수 있습니다.

이 도구로 할 수 있는 일:

  • 문자열이 특정 패턴과 일치하는지 확인

  • 텍스트 내 모든 매칭 결과 확인

  • 복잡한 표현식 디버깅

  • 코드를 작성하지 않고 다양한 regex 패턴 테스트

주요 Regex 엔진과 차이점

정규 표현식은 완전히 범용적이지 않습니다. 지원되는 문법은 프로그래밍 언어와 엔진에 따라 달라집니다.

엔진

사용처

특징

JavaScript (ECMAScript)

브라우저, Node.js

제한적인 lookbehind 지원 (버전에 따라 다름)

PCRE

PHP, 다양한 도구

가장 강력한 엔진 중 하나

Python (re)

Python

일부 PCRE 기능 미지원

Java (Pattern)

Java

엄격한 문법

.NET

C#

확장된 기능 제공

Regex는 실제 사용할 환경에서 반드시 테스트해야 합니다. lookbehind와 Unicode 지원 차이에 주의하세요. 크로스플랫폼 호환성이 중요하다면 더 단순한 패턴을 사용하는 것이 좋습니다.

Regex 플래그(modifier flags)

플래그는 패턴이 처리되는 방식을 바꾸는 옵션입니다. 대소문자 구분, 검색 범위(한 줄 또는 여러 줄), 문자 해석 방식을 제어할 수 있습니다.

플래그

의미

i

대소문자 무시

g

전역 검색

m

멀티라인 모드

s

Dotall (.에 \n 포함)

u

Unicode

Regex의 특수 문자

유형

심볼

설명

앵커(위치)

^

문자열 시작

앵커(위치)

$

문자열 끝

앵커(위치)

\b

단어 경계

앵커(위치)

\B

단어 경계 아님

메타문자

.

줄바꿈(\n)을 제외한 모든 문자와 일치

메타문자

|

OR 연산자

메타문자

\

이스케이프 문자

리터럴

a

문자 “a”

리터럴

ab

문자열 “ab”

수량자

*

0회 이상 반복

수량자

?

0회 또는 1회 반복

수량자

+

1회 이상 반복

수량자

{5}

정확히 5회 반복

수량자

{5,}

5회 이상 반복

수량자

{5,10}

5회에서 10회 사이 반복

문자 클래스

\s

공백 문자

문자 클래스

\S

공백이 아닌 문자

문자 클래스

\w

단어 문자(영숫자 + 밑줄)

문자 클래스

\W

단어 문자가 아닌 문자

문자 클래스

\d

숫자

문자 클래스

\D

숫자가 아닌 문자

이스케이프 시퀀스

[\b]

백스페이스

이스케이프 시퀀스

\c

제어 문자

이스케이프 시퀀스

\n

줄바꿈

이스케이프 시퀀스

\t

이스케이프 시퀀스

\r

캐리지 리턴

이스케이프 시퀀스

\ZZZ

8진수 문자

이스케이프 시퀀스

\xZZ

16진수 문자

이스케이프 시퀀스

\0

널 문자

이스케이프 시퀀스

\v

수직 탭

그룹

(xyz)

캡처 그룹

그룹

(?:xyz)

비캡처 그룹

집합 및 범위

[xyz]

x, y, z 중 하나

집합 및 범위

[^xyz]

x, y, z가 아닌 문자

집합 및 범위

[a-q]

a부터 q까지 범위

집합 및 범위

[0-7]

0부터 7까지 범위

치환 패턴

$`

매치 이전 텍스트

치환 패턴

$'

매치 이후 텍스트

치환 패턴

$+

마지막 캡처 그룹

치환 패턴

$&

전체 매치 문자열

치환 패턴

$n

n번째 캡처 그룹 (예: $1, $2)

패턴

(?=xyz)

긍정형 전방 탐색 (positive lookahead)

패턴

(?!xyz)

부정형 전방 탐색 (negative lookahead)

패턴

(?<=xyz)

긍정형 후방 탐색 (positive lookbehind)

패턴

(?<!xyz)

부정형 후방 탐색 (negative lookbehind)

주석

(?#comment)

주석 (엔진에서 무시됨)

자주 사용되는 Regex 패턴

작업

Regex

숫자만

^\d+$

라틴 문자만

^[A-Za-z]+$

날짜 (DD.MM.YYYY)

\d{2}\.\d{2}\.\d{4}

도메인

^[a-z0-9.-]+\.[a-z]{2,}$

URL

https?:\/\/[^\s]+

슬러그

^[a-z0-9-]+$

이메일 (기본)

^[^\s@]+@[^\s@]+\.[^\s@]+$

이메일 (엄격)

^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$

전화번호 (일반)

^\+?\d{7,15}$

HTML 태그

<[^>]+>

강한 비밀번호

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{12,}$

UUID

^[0-9a-fA-F-]{36}$

HEX 색상

^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$

IP (IPv4)

^(\d{1,3}\.){3}\d{1,3}$

MAC 주소

^([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$

자주 발생하는 Regex 실수

정규 표현식은 단순해 보이지만 실제로는 많은 함정을 포함하고 있습니다. 아래는 잘못된 결과를 초래하는 대표적인 실수입니다.

문법 및 논리 오류

  • 이스케이프 누락: .은 점 자체가 아니라 모든 문자와 매치됨 → \. 사용

  • 수량자 사용 오류: *, +, {}는 전체 문자열이 아니라 바로 앞 토큰에 적용됨

  • greedy와 lazy 혼동: .*는 최대한 많이 매치 → 최소 매치가 필요하면 .*? 사용

문자열 매칭 관련 문제

  • 앵커 ^$ 누락: 없으면 문자열 전체가 아니라 일부에서 매치될 수 있음

  • 대소문자 구분: "Test" ≠ "test" → 필요하면 i 플래그 사용

  • 공백 문자 혼동: \s는 스페이스뿐 아니라 탭, 줄바꿈 등도 포함함

실무에서 자주 하는 실수

  • Unicode에 \w 사용: 대부분 엔진에서 \w = [A-Za-z0-9_] (키릴 문자 등은 포함되지 않음)

  • 복잡한 형식(HTML, JSON)을 regex로 파싱하려고 시도: 신뢰하기 어려움 → 전용 파서 사용

  • 지나치게 복잡한 패턴 작성: 유지보수와 디버깅이 어려움

성능 문제

  • 중첩 수량자 사용: 예: (.*)+는 catastrophic backtracking을 유발할 수 있음

  • 제한 없는 패턴 사용: .*를 제약 없이 사용하면 긴 문자열에서 처리 속도가 느려질 수 있음

도구 설명

alien

이 도구의 정규 표현식은 ECMAScript (JavaScript RegExp) 표준에 따라 처리됩니다. 즉, 패턴 동작은 브라우저 또는 JavaScript 코드에서 작동하는 방식과 일치합니다. 문자 이스케이프(/ 및 /)와 같은 일부 구문은 다르게 보이지만 동일하게 작동할 수 있습니다. 다른 언어(예: Python, PHP, .NET 또는 POSIX)의 정규 표현식에 익숙하다면 구문 및 일치 논리에 차이가 있을 수 있음을 알아두십시오.

이 도구를 사용하면 정규 표현식(RegEx)을 테스트하고 작동하는지 확인할 수 있습니다. RegEx는 프로그래밍, 데이터 처리 및 SEO 분석에서 널리 사용됩니다.

이 도구를 사용하면 텍스트 패턴을 검색, 대체 및 분석하여 대량의 데이터 작업을 단순화할 수 있습니다.

자주 묻는 질문(FAQ)

정규 표현식(regex)은 텍스트를 검색, 확인 및 조작하는 강력한 패턴 일치 도구입니다. 데이터 유효성 검사, 검색 작업 및 텍스트 처리 작업에 필수적입니다.

우리 정규 표현식 테스터를 사용하면 패턴과 테스트 문자열을 입력하여 실시간으로 일치를 볼 수 있습니다. 다양한 패턴을 실험하고 텍스트의 어떤 부분이 표현식과 일치하는지 확인할 수 있습니다.

일반적인 패턴에는 이메일, 전화번호, 날짜, URL 및 우편 번호 유효성 검사가 포함됩니다. ., *, +, ?, ^, $와 같은 기본 메타 문자 및 \d, \w, \s와 같은 문자 클래스를 학습하십시오.

일반적으로 사용되는 플래그에는 i(대소문자 무시), g(전역 검색), m(다중 줄 모드) 및 u(유니코드 지원)가 포함됩니다. 이는 검색 및 일치를 보다 정확하게 제어하는 데 도움이 됩니다.

백트랙킹이 있는 복잡한 패턴은 큰 텍스트에서 느릴 수 있습니다. 구체적으로 작성하고, 중첩된 수량자를 피하고, 가능하면 앵커(^ 및 $)를 사용하여 최적화하십시오. 실제 데이터 크기로 성능을 테스트하십시오.

캡처 그룹은 패턴과 일치하는 텍스트의 특정 하위 섹션을 추출할 수 있는 정규 표현식의 일부(괄호로 정의됨)입니다. 이는 특정 데이터를 다시 포맷하거나 추출하는 데 유용합니다.

'탐욕스러운' 수량자(예: `.*`)는 가능한 한 많은 문자를 일치시키려고 시도합니다. '게으른' 수량자(예: `.*?`)는 가능한 한 적은 문자를 일치시키려고 시도합니다. 선택은 원하는 일치 동작에 따라 달라집니다.

대부분의 최신 정규 표현식 구현은 유니코드를 지원하여 다른 언어 및 알파벳의 문자를 일치시킬 수 있습니다. 그러나 정확한 지원은 프로그래밍 언어 및 도구에 따라 다를 수 있습니다.

이 도구를 평가해주세요
4.5(25 사용자 평가)