) 앵커가 전체 텍스트의 시작과 끝뿐만 아니라 **각 줄 바꿈(Line break)의 시작과 끝**에서도 매칭되도록 변경합니다.\n- **DotAll (`s`)**: 와일드카드 온점(`.`) 문자가 개행 문자(`\\n`)까지 포함하여 모든 문자를 매칭할 수 있도록 허용합니다."}},{"@type":"Question","name":"ReDoS(정규식 서비스 거부 공격)란 무엇이며 어떻게 예방하나요?","acceptedAnswer":{"@type":"Answer","text":"ReDoS는 `(a+)+`처럼 수량자가 중첩된 잘못된 정규식 패턴에 악의적인 긴 실패 문자열을 입력할 때, 정규식 엔진이 지수 함수적인 백트래킹(Backtracking)을 수행하여 CPU 사용량이 100%로 치솟고 서버가 마비되는 취약점입니다.\n\n이를 예방하려면 수량자의 중첩을 피하고, 캡처 경계를 명확히 지정하여 테스트해야 합니다."}}]}
정규표현식(Regular Expression)은 문자열 내에서 특정 패턴을 검색, 검증, 추출, 치환할 때 사용하는 프로그래밍 필수 도구입니다. 이메일 형식 검증, 전화번호 마스킹, URL 파싱, 소스코드 리팩토링 등 다양한 분야에서 사용되지만, 수량자(*, +), 캡처 그룹, 전방/후방 탐색(Lookaround)이 복잡하게 얽힌 정규식은 실시간 테스트 없이 작성할 경우 의도치 않은 매칭 에러나 성능 저하를 유발합니다. JuicyDevs 정규식 테스터는 자바스크립트 정규식 엔진을 기반으로 패턴 매칭 결과를 실시간 하이라이트 표시하고, 치환(Replace) 결과 미리보기 및 캡처 그룹별 상세 정보를 시각적으로 제공하는 웹 IDE 도구입니다. 모든 테스트 연산이 사용자의 브라우저 로컬 메모리에서 실행되므로 검증에 사용되는 개인정보나 사내 데이터가 외부에 유출되지 않습니다.
브라우저 내장 `RegExp` 자바스크립트 객체를 통해 패턴을 동적으로 평가합니다. 구문 에러 발생 시 예외 처리 래퍼가 동작하여 사용자에게 구체적인 정규식 에러 이유를 안내합니다.