정규식 테스터
정규식을 입력하면 일치하는 부분을 바로 강조하고 그룹을 보여 줍니다
도구를 불러오는 중…
정규식과 시험 문자열을 넣으면 일치하는 부분을 바로 강조하고, 일치마다 위치와 그룹 값을 보여 줍니다. 코드에 넣기 전에 패턴이 의도대로 걸리는지, 치환 결과가 맞는지 확인할 때 씁니다.
사용 방법
- '패턴' 칸에 정규식을 슬래시 없이 쓰고, 'g', 'i', 'm' 같은 플래그 버튼을 눌러 켜고 끕니다.
- '시험 문자열'에 글을 넣으면 일치한 부분이 강조되고 '일치 목록' 탭에 위치와 그룹이 나옵니다.
- '치환' 탭의 '바꿀 내용'에 $1 같은 그룹 번호를 써서 바뀐 결과를 보고, '분리' 탭에서는 패턴으로 나눈 조각을 봅니다.
- '자주 쓰는 패턴'에서 예시를 고르거나 '문법 요약'을 펼쳐 기호의 뜻을 확인합니다. '공유 링크 복사'로 같은 화면을 다른 사람에게 보낼 수 있습니다.
계산 방식과 참고
- 브라우저의 JavaScript RegExp 엔진으로 검사하므로 결과는 JavaScript 코드에서와 같습니다.
- 검사는 별도 작업 공간에서 돌고 1초가 지나면 멈춥니다. 일치는 최대 10,000개까지 찾고 목록에는 처음 500개를 보여 줍니다.
- 입력한 내용은 저장하지 않습니다. 공유 링크에는 패턴과 문자열(앞 4,000자)이 링크 안에 담기며 서버로 보내지 않습니다.
자주 묻는 질문
- 정규식이 첫 번째 것만 찾아요
- g 플래그가 꺼져 있으면 첫 번째 일치만 찾습니다. 'g' 버튼을 켜면 모든 일치를 찾습니다.
- 정규식 치환에서 그룹은 어떻게 쓰나요?
- $1, $2는 번호 그룹, $&는 일치 전체이고 이름 그룹은 $ 뒤에 꺾쇠괄호로 이름을 씁니다. 패턴 (\d{4})-(\d{2})-(\d{2})를 $3.$2.$1로 바꾸면 2024-03-15가 15.03.2024가 됩니다.
- 이메일 정규식은 어떻게 쓰나요?
- '이메일(단순형)' 예시는 [\w.+-]+@[\w-]+(?:\.[\w-]+)+ 입니다. 흔한 주소는 잡지만 이메일 규칙을 모두 검사하지는 않습니다.
- 파이썬이나 자바 정규식과 같나요?
- 기본 문법은 대부분 같지만 세부가 다릅니다. 예를 들어 이름 그룹을 JavaScript는 (?< 로 시작하고, 파이썬은 (?P< 로 시작합니다.
- '1초가 지나 중단했습니다'는 무슨 뜻인가요?
- (a+)+처럼 수량자가 겹친 패턴은 일치하지 않는 문자열에서 경우의 수가 폭발적으로 늘어납니다. 안쪽 부분을 더 구체적으로 쓰거나 중첩을 없애면 해결됩니다.