최근 플러그인이나 툴을 만들때 사용자가 입력한 string을 일정 규칙에 따라 파싱할 일이 생겨서 정규식에 대해 좀 뒤적거려봤다.
정규식에 익숙하지 않다면 정규식을 활용한 소스코드를 읽고 이해하기는 힘들 겠지만, 정규식을 알고 있다면 작성해야하는 소스코드라인이 확 줄어버리기 때문에 대량의 문자열을 처리하는 웹이나 데이터 사이언스 분야에서는 필수가 아닐까 싶다.
하지만, 가독성만큼은 거의... 멸망에 가깝다고할 수 있다. 완벽하게 익혀서 술술 읽을 수 있는 것이 아니라면 대략 어떤 형태인지 주석이라고 달아두는 것이 유지 보수가 편할 것이라고 생각한다. 그러나 이번에 다른 오픈소스나 Gist를 좀 뒤적거리면서 느낀건.... 그렇게 주석을 써둔 사람이 없다는 거다.
그래서 (1)정규식이 아직 익숙하지 않고, 내가 아닌 누군가가 작성해둔 (2)정규식을 좀 더 편리하게 분석해서 (3)시각화해볼 수 있는 툴을 몇가지 소개해볼까한다.
Regexper
가장 인상적이었던 툴이다. Javascript 기준의 regex 구문을 집어 넣으면 아래와 같이 Flow 형식으로 그림을 그려 표현해준다. 가장 시각적으로 확인하기 쉬웠던 분석 툴이다. SVG/PNG 파일을 다운받거나 링크를 걸수도 있어 블로그나 문서에 가져다 사용하기도 편리해보인다.
Regexr
이 툴은 분석기보다는 정규식을 학습하기 좋은 사이트이다. Expression에 정규식을 작성하면 Text에 작성된 내용에서 정규식과 Match되는 문자열에 하이라이트가 생긴다. 정규식 문법을 하나하나 작성해보면서 어떤식으로 적용되는지 눈으로 확인한다면 빠르게 정규식을 익힐 수 있을 것이다.