달력

4

« 2020/4 »

  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  •  
  •  



 

정규표현식의 메타 문자 종류

메타문자

의미

.

·         임의의 한 문자

·         뉴라인(\n) 을 제외한 모든 문자를 의미

 


^

·         행 머리(문자열의 처음, 라인의 처음을 의미)

·         ^ 문자는 패턴의 시작을 알림

·         ^ 문자만 패턴의 앞에 있습니다.

·         문자 클래스 내에 ^ 메타 문자가 사용될 경우에는 반대(not)라는 의미를 가집니다.

·         re.MULTILINE 을 사용할 경우에는 여러줄의 문자열 각 라인의 처음과 일치해야 합니다.

 


$

·         행 꼬리(문자열의 마지막, 라인의 끝을 의미)

·         $ 문자는 패턴의 알림

·         문자열에서 패턴의 마지막 문자 반드시 $ 문자 끝나야 합니다.

·         ^ 메타문자와 반대

 


\s

·         공백 문자

·         공백문자는 공백, , 줄바꿈, 리턴키 값을 포함합니다.

·         화이트 스페이스를 의미합니다.

·         [ \t\n\r\f\v] 동일한 표현식

 


\S

·         공백 문자 아님

·         공백이 아닌 문자를 매칭합니다.

·         [^ \t\n\r\f\v]와 동일한 표현식 (^ not을 의미)

\w

·         문자+숫자(alphanumeric)와 매치

·         [a-zA-Z0-9]와 동일한 표현식

 


\W

·         문자+숫자(alphanumeric)가 아닌 문자와 매치

·         [^a-zA-Z0-9]와 동일한 표현식

\d

·         숫자 0 ~ 9

·         [0-9]와 동일한 표현식

 


\D

·         숫자 이외의 문자

·         [^0-9]와 동일한 표현식

\A

·         문자열의 처음과 매치됨을 의미

·         ^와 동일한 의미이지만 re.MULTILINE 옵션을 사용할 경우에는 다르게 해석된다. re.MULTILINE 옵션을 사용할 경우 ^은 라인별 문자열의 처음과 매치되지만 \A는 라인과 상관없이 전체 문자열의 처음하고만 매치됩니다.

\Z

·         문자열의 끝과 매치됨을 의미

·         re.MULTILINE 옵션을 사용할 경우 $ 메타문자와는 달리 전체 문자열의 끝과 매치됩니다.

\b

·         단어 경계, 단어 구분자(Word boundary)

·         보통 단어는 whitespace에 의해 구분 되어 집니다.

·         \b는 파이썬 리터럴로 백스페이스(Back Space)를 의미하므로 백스페이스가 아닌 단어구분자(Word Boundary)임을 알려주기 위해 r'\bclass\b' 처럼 raw string임을 알려주는 기호 r을 반드시 붙여주어야 합니다.

\B

·         비단어 경계

·         \b 메타문자의 반대

·         whitespace로 구분된 단어가 아닌 경우에만 매치되어 집니다.

?

·         Zero or One

·         앞 패턴이 없거나 1 발생해야 합니다 (Optional 패턴을 정의할 때 사용)

 


*

·         Zero or Many

·         앞 패턴이 0개 이상이어야 합니다.

 


+

·         One or Many

·         앞 패턴이 한번 이상 발생해야 합니다.

 


{n}

·         앞 패턴이 n번 반복해서 나타나는 경우

 


{n,}

·         X{n,}: X n 이상 반복

{n,m}

·         앞 패턴이 최소 n, 최대 m 번 반복해서 나타나는 경우 (n 또는 m 은 생략 가능)

 


|

·         다중 매칭으로 여러 패턴 중 하나와 매칭해야 합니다.

·         "or" 의미

 


[]

·         정의된 문자들의 집합중에 매칭되는 단어가 있어야 합니다.

 


[^]

·         [문자들]의 반대로 피해야할 문자들의 집합을 정의합니다.

 


()

·         소괄호로 추출 시작점과 끝점을 지정해줍니다.

 


 

 


Posted by codedragon codedragon

댓글을 달아 주세요