크롤링한 데이터에서 HTML 태그를 제거하고 텍스트만 뽑고 싶을 때가 있다. 정규표현식으로 간단히 할 수 있다.
기본 패턴
<[^>]+> 이 패턴은 < 로 시작해서 > 로 끝나는 모든 것을 찾는다. 정규표현식 테스터에서 테스트해보자. 치환 기능으로 빈 문자열로 바꾸면 태그가 사라진다.
주의사항
이 방식은 완벽하지 않다. 속성 안에 > 가 있으면 잘못 잘린다. 정말 복잡한 HTML은 파서를 쓰는 게 맞다. 간단한 경우에만 정규표현식을 쓰자.
특정 태그만 제거
이러면 script 태그와 그 내용만 제거할 수 있다. 테스터에서 다양한 HTML 샘플로 실험해보자.
실무에서 자주 하는 실수
정규표현식을 처음 쓸 때 가장 흔한 실수가 특수문자 이스케이프를 빼먹는 거다. 점(.)을 문자 그대로 찾으려고 했는데 아무 문자나 다 매칭되는 상황. 항상 특수문자가 있으면 이스케이프가 필요한지 확인하자.
테스트 습관 들이기
정규표현식 테스터로 패턴을 작성하기 전에 먼저 테스트하는 습관을 들이면 실수를 크게 줄일 수 있다. 예상대로 동작하는지 여러 입력으로 확인하고 나서 코드에 적용하자. 그래야 나중에 디버깅 시간을 아낄 수 있다.
정규표현식이 만능은 아니다
모든 문자열 처리를 정규표현식으로 하려고 하면 오히려 복잡해진다. 단순한 작업은 문자열 메서드로, 복잡한 파싱은 전용 라이브러리로 하는 게 나을 수 있다. 적재적소에 사용하자.
정규표현식 테스터를 적극 활용해서 다양한 패턴을 실험해보자. 실전 경험이 쌓일수록 정규표현식 작성이 수월해진다.