본문 바로가기
Programing/정규 표현식

정규 표현식 정리 Note

by june._.note 2016. 9. 18.

정규표현식(Regular Expression)은 문자열을 처리하는 방법 중 하나로 특정한 조건의 문자를 검색하거나 치환하는 과정을 


매우 간편하게 처리 할 수 있도록 하는 수단.


추천 참고 사이트 (zvon.org)


  • 정규표현식은 대소문자 및 공백을 구분함.
  • ^who : who로 시작하는 문자열
  • word$ : who로 끝나는 문자열
  • 정규표현식에서 의미있는 수식('^', '$', '\', '.' 등등...)을 문자로 사용하기 위해서는 앞에 \를 사용해준다.
    ex) $25에서 $로 시작하는 문자를 검색하고 싶으면 ^$가 아니라 ^\$로 검색해야함.
  • . : 한개의 문자(모든 문자 + 공백도 포함)
    ex) .... 의 경우 4개의 문자를 의미함. 검색할 대상의 문자가 3개 이하라면 검색 결과 없음.
  • [] : square bracket안의 문자들과 매칭되는 문자를 찾음 (1개의 문자로 취급. 순서는 상관 없음)
  • [-] : '-'의 앞 뒤에있는 문자 사이의 모든 문자열을 포함(물론, 정규표현식은 대소문자 구분)
    ex) [c-k] = [cdefghijk]
  • [^] : '^'뒤에 나오는 문자열을 제외한 나머지 모든 문자
    ex) [^b-z] = [a] / [^ ] : 공백을 제외한 모든 문자
  • (||) : '|'는 구분자이며, 구분자로 구분되어있는 문자열들과 일치하는 문자열 하나를 찾음.
  • * : '*'의 앞문자가 0번 이상 나오는 것을 찾음(안나와도 됨)
    ex).* : 모든 문자 다 찾음
  • + : '+'의 앞문자가 한번 이상 나오는 것을 찾음.
  • ? : '?'의 앞문자가 1번 나오거나 나오지 않는 경우.
  • {숫자} : 앞에있는 문자가 숫자의 갯수만큼 나오는 경우를 찾음
    .{5} = ..... / []{1,3} : []에 해당하는 문자가 최소 1개~최대 3개인 경우 / []{3,} : []에 해당하는 문자가 최소 3개 이상
  • \w : 알파벳, 숫자, _ 를 찾음(1개의 문자로 취급, 공백이나 다른 특수문제는 제외됨)
    \w = [A-z0-9_]
  • \W : 알파벳, 숫자, _를 제외한 나머지 모든 문자
  • \s : 공백
  • \S : 공백을 제외한 모든 문자(1개의 문자)
  • \d : 숫자
    \d = [0-9]
  • \D : 숫자를 제외한 모든 문자.
  • \b : 단어의 경계(단어의 시작이든 끝의 커서 위치라고 생각하면 될 듯.)
  • \B : 단어의 경계에 있지 않은 단어
  • \A : 문장의 시작
  • \Z : 문장의 끝
  • (?=<pattern>) : ()안에 있는 패턴 앞의 문자 선택(패턴은 포함되지 않음.)
    ex) AAA(?=X)로 AAAX---AAA를 탐색하면 결과는 AAAX---AAA 선택됨(굵은 글씨가 선택된 문자열)
  • (?!<pattern>) : ()안에 있는 패턴 앞의 문자를 제외하고 선택
    ex) AAA(?!X)로 AAAX---AAA를 탐색하면 결과는 AAAX---AAA 선택됨(굵은 글씨가 선택된 문자열)


중간중간 헷갈리거나 이해되지 않는 몇몇 정규식표현식 예들을 건너뜀.


해당 내용은 나중에 정규표현식을 사용할때 마주치게 된다면 좀 더 자세히 살펴봐야함.




2016.09.18 생활코딩(https://opentutorials.org) 참조