본문 바로가기
나만의 파이썬

[파이썬] 유용하게 쓰이는 정규식 표현

by 초보코딩러 2021. 8. 2.

1. 하나의 character라도 매칭되는지

  • [2345cde] : 2,3,4,5,c,d,e 중 하나라도 매칭되는지
  • 조건 (2|3|4|5|c|d|e)과 같다.

ex) "1 2 6" -> "1 2 6"

 

2.범위(range)

  • [2-5c-e] : 2,3,4,5,c,d,e 중 하나라도 매칭되는지

ex) "1 2 9"  -> "1 2 9"

     "2 3 7 9 " -> "2 3 7 9 "

 

3.[^] : not character

  • [^2-5c-e] : 2,3,4,5,c,d,e가 아닌 charater인지

ex) "1 2 9" -> "1 2 9"

     "2 3 7 9 " -> "2 3 7 9 "

 

4. 그룹화 및 변수로 지정

‘abcd’ -> ‘ad’  문제 abcd에서 bc제거하기

  • [(a-z)]bc([a-z])    - >      \1\2 = 'ad'
  • ([a-z])bc([a-z])     ->       ₩1₩2 = ‘ad’

5. or

  • (x|y) : x또는 y가 나타남 그리고 \1에 지정
  •  

6. X? ,X+, X*      :X가 출현

  • x? : x가 0번 또는 1번 출현
  • x+ : x가 무조건 출현 한번 이상 출현
  • x* : x가 나타나지 않을수도, 반복될 수도 있음 강력한 표현 유의해서 사용해야 한다.

7. X{n},  X{n} ,  X{n}   : X가반복

  • x{n} : n번 반복
  • x{n,} : n번 이상 반복     ex )  \s{2,} : 공백이 2번이상 반복
  • x{n,m} : n번 ~m번까지 반복     ex) X{2,5}
  • 카드 번호 인식: [0-9]{4}\ᅳ[0-9]{4}\ᅳ[0-9]{4}\ᅳ[0-9]{4}
  • 알파벳 소문자, 대문자, 숫자로 이루어진 10자 이하의 문자열을 찾는 경우 : [a-zA-Z0-9]{0,10}

8. ^ : 문장의시작, $ : 문장의끝

  • 문자열 전체에 대해 파악할 때 사용
  • 카드번호 16자리 인식 : ^[0-9]{4}\ᅳ[0-9]{4}\ᅳ[0-9]{4}\ᅳ[0-9]{4}$
Meta characters Description 동일한 표현
\s 공백 문자  
\S 공백 문자를 제외한 모든 문자  
\w (알파벳 + 숫자) + '_' [A-Za-z0-9_]
\W (알파벳 + 숫자) + '_'           :      반대 [^A-Za-z0-9_]
\d 숫자 [0-9]
\D 숫자를 제외한 모든 문자 [^0-9]

 

댓글