유틸리티 소개

여러 줄에 걸친 패턴 매칭하는 방법

기본적으로 정규표현식의 .은 줄바꿈을 포함하지 않는다. 여러 줄에 걸친 텍스트를 매칭하려면 다른 방법이 필요하다.

s 플래그

s 플래그를 쓰면 .이 줄바꿈도 매칭한다. div 태그와 내용을 잡을 수 있다. 정규표현식 테스터에서 확인해보자.

[sS] 트릭

s 플래그를 지원 안 하는 환경에서는 [sS]를 쓴다. 공백 또는 공백 아닌 것 = 모든 문자.

게으른 매칭 필수

여러 div가 있으면 탐욕적 매칭으로 전부 다 잡혀버린다. [sS]*? 처럼 게으른 매칭을 쓰자. 테스터로 차이를 비교해보면 확실히 이해된다.

플래그 조합 활용

g, i, m 플래그를 상황에 맞게 조합해서 쓰면 더 유연하게 매칭할 수 있다. 대소문자 구분 없이 전역 검색하려면 gi를 쓰고, 여러 줄 처리가 필요하면 m을 추가하자. 정규표현식 테스터에서 플래그별 차이를 확인해보자.

캡처 그룹 효율적으로 쓰기

캡처 그룹이 많으면 성능에 영향을 줄 수 있다. 캡처가 필요 없는 그룹은 (?:...)로 비캡처 그룹으로 만들자. 정말 추출해야 하는 부분만 괄호로 감싸면 된다.

정규표현식 라이브러리 활용

자주 쓰는 패턴들은 라이브러리로 만들어져 있다. 이메일, 전화번호, URL 검증 같은 건 이미 검증된 패턴을 가져다 쓰는 게 안전하다. 테스터로 동작을 확인하고 사용하자.

정규표현식 테스터에서 실시간으로 패턴을 테스트하고 결과를 확인하면서 학습하면 정규표현식 실력이 빠르게 늘어난다.