정규 표현식
무료 온라인 정규 표현식 테스트 도구, 실시간 매치 미리보기
정규 표현식이란?
정규 표현식(regex)은 검색 패턴을 정의하는 문자열 시퀀스입니다. 거의 모든 프로그래밍 언어에서 문자열 매칭, 검증, 검색, 치환에 사용됩니다. 정규식 패턴은 단순한 리터럴 매치부터 그룹, 룩어헤드, 역참조를 포함한 복잡한 표현식까지 다양합니다.
정규식 테스터 사용법
패턴 필드에 정규식을 입력하면 입력과 동시에 실시간 매칭이 이루어집니다. 플래그 버튼을 클릭하여 플래그를 전환합니다: g(전역), i(대소문자 구분 없음), m(여러 줄), s(dotAll), u(유니코드), y(sticky). 테스트 텍스트를 입력하거나 붙여넣습니다. 매칭 결과는 각각 다른 색상으로 하이라이트됩니다. 매치 수, 캡처 그룹, 매치 위치가 표시됩니다.
치환과 자주 쓰는 패턴
치환 섹션에서 $1, $2, $&와 같은 역참조를 사용하여 정규식 치환을 테스트할 수 있습니다. 자주 쓰는 패턴 치트시트는 이메일, URL, 전화번호, IP 주소, 날짜, HEX 색상, HTML 태그, 숫자 매칭을 위한 바로 사용할 수 있는 정규식 패턴을 제공합니다. 패턴을 클릭하면 예제 테스트 문자열과 함께 로드됩니다.
▶정규식 플래그는 무엇을 사용해야 하나요?
g(전역)는 첫 번째뿐만 아니라 모든 매치를 찾습니다. i(대소문자 구분 없음)는 문자 대소문자를 무시합니다. m(여러 줄)은 ^와 $가 줄 경계에 매치되게 합니다. s(dotAll)는 .이 줄바꿈에도 매치되게 합니다. u(유니코드)는 유니코드 속성 이스케이프를 활성화합니다. y(sticky)는 현재 위치에서만 매치합니다. 필요에 따라 /gims처럼 플래그를 조합할 수 있습니다.
▶정규식이 매치되지 않는 이유는 무엇인가요?
일반적인 문제로는 특수 문자(., *, +, ?, [, ], (, ), {, }, \, ^, $, |) 이스케이프 누락, 여러 매치를 위한 전역 플래그 누락, 잘못된 문자 클래스 구문 사용 등이 있습니다. 도구는 정규식 오류를 패턴 입력 아래에 인라인으로 표시합니다.
▶탐욕적(greedy)과 게으른(lazy) 수량자의 차이는?
탐욕적 수량자(*, +)는 가능한 많이 매치합니다. 게으른 수량자(*?, +?)는 가능한 적게 매치합니다. 예를 들어 <.*>는 전체 HTML 문자열에 매치하지만, <.*?>는 개별 태그에 매치합니다.
▶룩어헤드와 룩비하인드를 지원하나요?
네, 이 도구는 브라우저의 JavaScript 정규식 엔진을 사용하며, 최신 브라우저에서 룩어헤드(?=...), 부정 룩어헤드(?!...), 룩비하인드(?<=...)를 지원합니다.
▶치환 패턴은 어떻게 작동하나요?
치환 필드에서 $1, $2 등으로 캡처 그룹을 참조하고, $&로 전체 매치, $`로 매치 앞의 텍스트, $'로 매치 뒤의 텍스트를 참조할 수 있습니다. 치환 결과는 입력과 동시에 실시간으로 업데이트됩니다.
이 도구가 당신에게 도움이 되었다면, 저에게 커피 한 잔 사주세요.
제게 커피 한 잔 사주세요.