막상 쓰려면 헷갈리는 정규표현식 모음

less than 1 minute read

쉽게 찾을 수 있는 메타 문자(예약어), 전화번호, 비밀번호, 이메일 규칙 외에 종종 사용하는 정규표현식(Regular Expression, regexp)을 모았습니다.

참고

  • 정규표현식 기초는 아래 등을 참고하면 좋습니다.
  • Apache Zeppelin, Spark 에서는 \(역슬래쉬)를 두번 써줘야 합니다.
    • \?\\? 으로 작성
    • 문자 그대로의 \를 쓸때는 \\\\ 으로 작성
  • 정규표현식은 사용 환경(linux, vim, python, javascript, …)에 따라 비슷하면서 다를 수 있기 때문에 사용에 유의해야 합니다.

예제

괄호와 괄호 안 문자

\([^)]*\)

img

특수문자

한글, 알파벳, 숫자를 제외(^)하고 찾기 (negative way)

[^-힣ㄱ-ㅎㅏ-a-zA-Z0-9]

img

특수문자를 찾기 (positive way)

[\{\}\[\]\/?.,;:|\)*~\`!^\-_+<>@\#$%&\\\=\(\’\”\s]

img

차량번호

^([-]{2})?\s?([0-9-]{1,})\s?[-]\s?[0-9]{4}

img 특수 차량 제외 차량 번호판/대한민국 - 나무위키

제외할 문자 찾기

^((?!1231|1241).*)

1231, 1241 빼고 모두 통과
위 조건으로는 1231, 1241로 시작하는 모든 코드(12314 등등)가 제외되므로, 동일한 자리수인 경우에만 사용

img

[슬쓸]

img

다중 공백

\s{2,}

공백 2개 이상

img

그룹 사용

^(to)(ma)to\2

()를 사용하여 문자열 내에 그룹을 특정 지을 수 있습니다.

img

^ (to|po) (ma) to \1
문자열 시작 그룹1 그룹2 그냥 문자열 캡처된 1번째 그룹 재사용

캡처된 첫번째 그룹을 재사용하므로 3번째 예시인 po는 해당하지 않습니다.


다 쓰고보니 몇개 안되네요. 필요할 때마다 찾아서 쓰고 머릿속에 남지 않다보니… 기억날 때마다 추가해보겠습니다.

Tags:

Updated:

Leave a comment