정규표현식의 개념과 기초 문법

작성한지 10년이 지났는데도 notepad++ 관련한 키워드로 꾸준히 유입이 발생하고 있고,  그게 정규 표현식 관련한 글인데 별로 내용이 좋은 글이 아니다. (몇 가지 기초적인 문법만 요리책 식으로 나열해 놓은 거라…) 그래서 정규 표현식의 개념과 기초 문법 그리고 몇 가지 이 블로그에서 다루는 언어들에서 정규 표현식을 어떻게 쓰는지, 어떤 것들을 할 수 있는지 등에 대해서 알아볼 계획이다.

음력날짜변환데이터

음력 날짜 변환하기 현재 공개된 “공식적인” 음력 변환 알고리듬은 존재하지 않는다. 한국 천문 연구원에서 계산한 결과가 우리가 사용하는 달력의 표준 음력이다. (개인적으로 만들어져서 배포되는 음력 변환 알고리듬이 좀 있기는 하나, 몇 년에 한 번 꼴로 오차가 있는 방식이라 크게 신뢰하기는 힘들다.) 한국 천문 연구원에서는 이 변환 알고리듬을 절대 공개하지 않고 있으며, 심지어 API로도 제공하지 않는다.

정규식을 사용한 비밀번호 유효성 검사

정규식의 그룹 패턴 중에 Look-around라는 게 있는데, 특정 패턴의 앞/뒤로 만족하는 패턴이 있는 경우에만 해당 패턴을 만족시키는 케이스를 말한다. 예를 들어 apple(?=s)는 apples의 apple만 매칭되고 apple이나 appled는 매칭되지 않도록 하는 것이다. 이를 활용하여 비밀번호 유효성 검사에 정규식을 활용할 수 있다. 예를 들어, 6자리 이상 1개 이상의 영어 대문자 1개 이상의 숫자 라는 조건을 만족해야 한다면