Tarayıcınız güncel değil

Bu siteyi görüntülemek için tarayıcınızın veya cihazınızın işletim sisteminin güncellenmesi gerekiyor.

Your browser is out of date. Please update iOS or your browser to view this site.

본문으로 건너뛰기
Gizke.com
블로그

정규식 테스터

기기에서 실행되며 아무것도 전송되지 않습니다.

플래그

자주 쓰는 패턴

테스트 문자열

일치하는 항목이 없습니다

설명

위에 패턴을 입력하면 각 부분이 하는 일을 분석해 보여줍니다

브라우저 안에서만 실시간 일치 강조 표시로 JavaScript 정규식을 테스트, 설명, 디버그하세요.

정규식(regex)은 텍스트를 매칭하거나 찾거나 치환하는 데 사용되는 패턴입니다 - 코드 편집기의 찾기-바꾸기, 폼 유효성 검사, 로그 파싱을 뒷받침하는 것과 동일한 기본 도구입니다. 이 테스터는 JavaScript의 네이티브 정규식 엔진을 브라우저에서 직접 실행합니다. 패턴과 테스트 문자열을 입력하면 모든 일치 항목을 강조 표시하고, 캡처 그룹을 분해하고, 치환 결과를 미리 보여주며, 패턴의 각 부분이 하는 일을 쉬운 말로 설명합니다. 입력한 내용은 어디에도 업로드되지 않습니다.

자주 묻는 질문

이 도구는 어떤 정규식 방언을 사용하나요?
JavaScript에 내장된 정규식 엔진(RegExp와 String.prototype.match/replace 뒤에 있는 엔진)을 사용합니다. 여기서는 모든 작업이 서버가 아니라 브라우저의 클라이언트 측에서 실행되기 때문입니다. PCRE와 매우 유사하지만 몇 가지 차이가 있습니다 - 예를 들어 후방탐색(lookbehind) 지원은 엔진 버전에 따라 다르고, 명명된 그룹은 (?<이름>...) 구문을 사용합니다.
왜 내 패턴이 한 번만 일치하나요?
기본적으로 g(전역) 플래그가 없으면 정규식은 첫 번째 일치 후에 멈춥니다 - 이는 JavaScript에서 RegExp.exec()와 String.match()가 실제로 동작하는 방식을 반영합니다. 테스트 문자열에서 첫 번째 일치 항목만이 아니라 모든 일치 항목을 찾으려면 위에서 g 플래그를 활성화하세요.
(...)와 (?:...)의 차이는 무엇인가요?
둘 다 패턴의 일부를 함께 그룹화하지만, (...) - 캡처 그룹 - 만이 일치한 내용을 저장하여 나중에 참조할 수 있게 합니다(치환에서 $1, $2, ...로, 또는 일치 항목의 그룹 목록에서). (?:...)는 비캡처 그룹으로, 일치 내용을 보관하지 않고 그룹화와 수량자 적용만 수행합니다. 그룹화는 필요하지만 캡처된 텍스트에는 관심이 없을 때 유용합니다.
명명된 그룹과 $<이름> 치환은 어떻게 작동하나요?
번호 대신 이름으로 그룹을 캡처하려면 (...) 대신 (?<이름>...)을 작성하세요. 치환 모드에서는 치환 텍스트에서 $<이름>으로 참조합니다 - 예를 들어 (?<year>\d{4})-(?<month>\d{2})를 $<month>/$<year>로 치환하면 그룹 번호를 기억할 필요 없이 날짜를 재배열할 수 있습니다.
+와 +?처럼 탐욕적(greedy) 수량자와 게으른(lazy) 수량자의 차이는 무엇인가요?
탐욕적 수량자(+, *, {2,4})는 가능한 한 많이 일치시킨 다음, 패턴의 나머지 부분이 일치하도록 필요한 경우에만 물러납니다. 같은 기호 뒤에 ?가 붙은 게으른 수량자는 반대로 가능한 한 적게 일치시키며, 필요할 때만 한 글자씩 확장합니다. 예를 들어 <.+>는 <a><b>에 대해 탐욕적으로 <a><b> 전체와 일치하지만, <.+?>는 게으르게 <a>만 일치시킵니다.
전방탐색과 후방탐색(lookahead/lookbehind)은 문자를 소비하지 않는데 실제로 무엇을 확인하나요?
현재 위치의 바로 앞이나 뒤에 패턴이 나타나는지 확인하되, 그 부분을 일치 결과 자체에는 포함시키지 않습니다 - 즉 (?=...)와 (?<=...)는 앞/뒤에 반드시 있어야 하는 것을 확인하고, (?!...)와 (?<!...)는 있으면 안 되는 것을 확인합니다. 그래서 \d+(?=px)를 사용하면 뒤에 'px'가 오는 숫자만 일치시킬 수 있으며, 'px' 자체는 일치한 텍스트에 결코 나타나지 않습니다.
개발자용: URL에 `q`(패턴)와 `text`(테스트 문자열) 매개변수를 추가해 이 페이지를 열면 - 예: gizke.com/regex?q=\d+&text=There are 42 apples - 둘 다 자동으로 미리 채워집니다. 대부분의 방문자에게는 필요하지 않으며, 바로 사용할 수 있는 예시로 직접 연결하기 위한 기능입니다.

이 도구 공유하기

블로그소개문의이용약관개인정보처리방침