Python/기초 강의

정규 표현식1

개발게발 2022. 8. 5. 20:46

문자클래스[ ]

[abc]
  • [ ] 사이의 문자들과 매치
  • "a"는 정규식과 일치하는 문자인 "a"가 있으므로 매치
  • "before"는 정규식과 일치하는 문자인 "b"가 있으므로 매치
  • 하이픈을 사용하여 From-To로 사용가능

            Ex) [a-c] = [abc], [0-5] = [012345]

 

정규 표현식 설명
\d 숫자와 매치, [0-9]와 동일한 표현식이다.
\D 숫자가 아닌 것과 매치, [^0-9]와 동일한 표현식이다.
\s whitespace 문자(space나 tab처럼 공백을 표현하는 문자)와 매치, [\t\n\r\f\v]와 동일한 표현식이다.
맨 앞의 빈칸은 공백 문자(space)를 의미한다.
\S whitespace 문자가 아닌 것과 매치, [^\t\n\r\f\v]와 동일한 표현식이다.
\w 문자+숫자(alphanumeric)와 매치, [a-zA-Z0-9_]와 동일한 표현식이다.
\W 문자+숫자(alphanumeric)가 아닌 문자와 매치, [^a-zA-Z0-9_]와 동일한 표현식이다.

 

Dot(.)

a.b
  • 줄바꿈(\n)을 제외한 모든 문자와 매치
  • "aab"는 가운데 문자 "a"가 모든 문자를 의미하는 '.'과 일치하므로 정규식과 매치
  • "a0b"는 가운데 문자 "0"가 모든 문자를 의미하는 '.'과 일치하므로 정규식과 매치
  • "abc"는 "a"문자와 "b"문자 사이에 어떤 문자라도 하나는 있어야 하는 이 정규식과 일치하지 않으므로 매치되지 않는다

 

반복(*)

ca*t
  • "ct"는 "a"가 0번 반복되어 매치
  • "cat"는 "a"가 0번 이상 반복되어 매치(1번 반복)
  • "caaat"는 "a"가 0번 이상 반복되어 매치(3번 반복)

 

반복(+)

ca+t
  • "ct"는 "a"가 0번 반복되어 매치되지 않음
  • "cat"는 "a"가 1번 이상 반복되어 매치(1번 반복)
  • "caaat"는 "a"가 1번 이상 반복되어 매치(3번 반복)

 

반복({m,n}, ?)

ca{2}t
  • "cat"는 "a"가 1번만 반복되어 매치되지 않음
  • "caat"는 "a"가 2번 반복되어 매치

 

ca{2,5}t
  • "cat"는 "a"가 1번만 반복되어 매치되지 않음
  • "caat"는 "a"가 2번 반복되어 매치
  • "caaaaat"는 "a"가 5번 반복되어 매치

 

ab?c
  • "abc"는 "b"가 1번 사용되어 매치
  • "ac"는 "b"가 0번 사용되어 매치
  • "abbc"는 "b"가 2번 사용되어 매치되지 않음
  • ? == {0,1}

 

출처 : https://www.youtube.com/watch?v=dTDoTR0MXjU&list=PLU9-uwewPMe2AX9o9hFgv-nRvOcBdzvP5&index=10