콘텐츠로 건너뛰기
Home » regexp

regexp

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

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

오늘은 그 첫 번째 순서로, 정규표현식의 개념과 가장 기초가 되는 패턴 문법에 대해서 살펴보려고 한다.

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

양음력 날짜 변환 데이터 얻기

예전 한국천문연구원에서 운영하던 천문우주지식 정보 사이트에서 양/음력 변환기를 제공하면서, 관련된 알고리듬이나 데이터를 따로 제공해주지 않아서 말이 많았었는데, 시간이 오래 지나고 세상이 바껴서 그런지 이제 양음력변환은 오픈 API를 통해서 구할 수 있다. 그 외에도 네이버 캘린더 등을 통해서 양음력 변환이 가능하니, 방법은 많이 있다고 봐도 좋겠다. (업데이트 2022년 2월) https://www.data.go.kr/data/15012679/openapi.do 참고로 우리 나라에서 사용하는 음력 달력은 한국천문연구원에서 계산하여 발표하는 결과를 사용하고 있으며, 만년력 개념으로 두고두고 적용할 수 있는 일반적인 알고리듬이 공개되어 있지는 않다. (비공개라기 보다는 매년 측량을 통해서 오차를 갱신하고 필요한… 더 보기 »양음력 날짜 변환 데이터 얻기

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

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

  1. 6자리 이상
  2. 1개 이상의 영어 대문자
  3. 1개 이상의 숫자

라는 조건을 만족해야 한다면 저 전진 검색 패턴을 활용하면 된다.
더 보기 »정규식을 사용한 비밀번호 유효성 검사