디스 프로그래머 (This Programmer)

정규식 짤 때 엄청나게 도움이 되는 사이트. regex101.com 본문

기타등등

정규식 짤 때 엄청나게 도움이 되는 사이트. regex101.com

디스 프로그래머 2019. 1. 23. 23:30

정규식 짤 때 엄청나게 도움이 되는 사이트. regex101.com

난 정규식을 싫어한다. 사람이 해석할 수가 없는 언어라고 생각해서이다. 물론 익숙한 사람에겐 다르겠지만... 하지만 프로그래밍을 계속 접하게 되면 어쩔 수 없이 사용하게 된다. 그때 활용하는 사이트가 있다. 바로 regex101이다. 접속해보면 알 수 있겠지만 좋은 싸이트의 특징인 직관적인 UI가 눈에 띈다.


간단하게 설명하자면 FLAVOR에서 언어의 종류를 누르고 위에 정규식을 쓰고 TEST STRING에 테스트할 문자열들을 입력하여 테스트한다. 결과값은 오른쪽에 출력된다.

 흔히들 사용하는 자바스크립트에서의 암호 정규식을 만들어보자. 만들기 귀찮으면 왼쪽의 책모양 메뉴를 눌러서 검색하면 된다. 이미 완성돼있는 정규식들을 조회할 수 있으며 Most Points를 눌러 점수 기반으로 내림차순으로 정렬되는데 많이 쓰이는 정규식은 위에서 대게 찾을 수 있다.


이런식으로 말이다. 여기에서 밑에 75포인트를 얻은 Password Validation을 눌러보자.


이런식으로 열리는데 open regex in editor를 눌러 에디터에서 열 수 있다. 그리고 아까의 TEST STRING에 점검할 문자열들을 써보자.


이런식으로 정규식과 걸맞는지 확인할 수 있다. 위 정규식을 풀이해보자면 대문자 하나, 소문자 하나, 숫자하나가 꼭 들어가야하며 6글자 이상이어야 한다.


이런식으로 확인할 수 있다. 물론 TEST STRING오른쪽에 있는 SWITCH TO UNIT TEST를 누르면 많은 문자열을 동시에 테스트할 수 있는 환경도 만들어져있다.


이런식으로 테스트케이스를 추가하고 RUN TESTS버튼을 통해 각 정규식의 일치여부를 한번에 검사할 수 있다. 맨 위 완성된 정규식에 마우스를 올리면 각 정규식이 무엇을 의미하는지도 알 수 있으며 정규식의 문법검사도 해주니 아주 편리하다. 그리고 오른쪽 아래에 QUICK REFERENCE부분에서 정규식 매뉴얼도 잘 정리돼있으니 정규식을 짜기 위한 모든 도구가 모여있는 것 같다. 최고다.



물론 구글에 ~~정규식 ~~정규식 치면 거의 모든 정규식들이 나오지만 검색결과가 항상 모든 사람의 요구사항을 100%충족시키진 못한다. 나도 비밀번호 정규식을 짜는 과정에서 몇 개 찾아봤지만 완전히 만족할만한 정규식을 얻지 못해 이 사이트를 통해서 해결했다. 정규식을 짜는 데에 있어선 끝판왕인 도구인 것 같다. 그리고 자신이 정의한 정규식 또한 SAVE & SHARE의 Fork Regex버튼을 눌러 다른 저장돼있는 정규식들처럼 저장할 수 있다. 공개돼있는 정규식 중 대체할 정규식이 없어 직접 정규식을 짜야 할 때에 이 사이트를 이용하면 좋다. 누군가에게 자신이 만든 정규식을 제공해야할 때에도 해당 버튼을 눌러 고유 url을 발급받아 보내서 확인 및 테스트를 시켜줄 수도 있다. 회원가입을 통해서 라이브러리에 있는 다른 정규식들 처럼 공간을 만들 수도 있다.



사실 이 정규식 사이트를 이용했던 건 이 비밀번호 정규식을 만들기 위해서였다. 흔히들 한국에서 쓰는 방식이다. 8자 이상 16자 이하, 소문자에 숫자하나 필수지만 대문자나 특수문자가 들어갈 수 있는 비밀번호 정규식이다.


/^(?=.*[a-z])(?=.*[0-9])[0-9A-Za-z$&+,:;=?@#|'<>.^*()%!-]{8,16}$/







2 Comments
댓글쓰기 폼