정규식 - Part 2

CHan·2023년 3월 15일

1. 정규식 특정 문자 숫자 매칭 패턴

  • a ~ z A ~ Z : 영어 알파뱃( - 으로 범위 지정)
  • ㄱ~ㅎ 가 ~ 힣 : 한글 문자( - 으로 범위 지정)
  • 0 ~9 : 숫자( - 으로 범위 지정)
  • . : 모든 문자열(숫자, 한글, 영어, 특수기호, 공백 모두)
    단, 줄바꿈은 X
  • \d : 숫자
  • \D : 숫자가 아닌 것
  • \w : 밑줄 문자를 포함한 영숫자 문자에 대응
    [A-Za-z0-9]와 동일
  • \W : \w가 아닌 것
  • \s : space 공백
  • \S : space 공백이 아닌 것
  • \특수기호 : 특수기호 \*\^\&\!\? ... 등
  • \b : 63개 문자(영문 대소문자 52개 + 숫자 10개 + _(underscore))가
    아닌 나머지 문자에 일치하는 경계(boundary)
  • \B : 63개 문자에 일치하는 경계
  • \x : 16진수 문자에 일치,
    /\x61/는 a에 일치
  • \O : 8진수 문자에 일치
    /\141\은 a에 일치
  • \u : 유니코드(Unicode) 문자에 일치
    /\u0061/는 a에 일치
  • \c : 제어(Control) 문자에 일치
  • \f : 폼 피드(FF, U+000C) 문자에 일치
  • \n : 줄 바꿈(LF, U+000D) 문자에 일치
  • \r : 캐리지 리턴(CR, U+000D) 문자에 일치
  • \t : 탭(U+0009) 문자에 일치

2. 정규식 검색 기준 패턴

  • | : OR (a|b)

  • [ ] : 괄호 안의 문자들 중 하나. or 처리 묶음 보면 된다
    /abc/ - "abc"를 포함하는
    /[abc]/ - "a" 또는 "b" 또는 "c"를 포함하는
    /[다-바] - 다 or 라 or 마 or 바

  • [^문자] : 괄호 안의 문자를 제외한 것
    [^lgEn] - "l" "g" "E" "N" 4개 문자를 제외
    !! 대괄호 안에서 쓰면 제외의 뜻, 대괄호 밖에서 쓰면 시작점 뜻

  • ^문자열 : 특정 문자열로 시작 (시작점)
    /^www/

  • 문자열$ : 특정 문자열로 끝남 (종착점)
    /com$/

3. 정규식 갯수 반복 패턴

  • ? : 없거나 or 최대 한 개만
    /apple?/
  • * : 없거나 or 있거나 (여러개)
    /apple*/
  • + : 최소 한 개 or 여러 개
    /apple+/
  • *? : 없거나, 있거나 and 없거나, 최대 한 개 : 없음
    { 0 }와 동일
  • +? : 최소 한 개, 있거나 and 없거나, 최대 한 개 : 한 개
    { 1 }와 동일
  • { n } : n개
  • { Min, } : 최소 Min개 이상
  • { Min, Max } : 최소 Min개 이상, 최대 Max개 이하
    { 3, 5 }? == { 3 }와 동일

4. 정규식 그룹 패턴

  • ( ) : 그룹화 및 캡쳐
  • (? : 패턴) : 그룹화 (캡쳐 X)
  • (?=) : 앞쪽 일치(Lookahead)
    /ab(?=c)/
  • (?!) : 부정 앞쪽 일치(Negative Lookahead)
    /ab(?!c)/
  • (?<=) : 뒤쪽 일치(Lookbehind)
    /(?<=ab)c/
  • (?<!) : 부정 뒤쪽 일치 (Negative Lookbehind)
    /(?<!ab)c/
profile
Hello World!

0개의 댓글