Programming

; develop a program

Back-End/Python

[Python] 정규 표현식(Regular Expression)

Clloud_ 2023. 6. 26. 23:02
반응형

이번 포스팅에서는 파이썬에서 정규 표현식(Regular Expression)에 대하여 공부를 해보고자 한다.

 


정규 표현식이란

정규 표현식(Regular Expression)은 문자열의 패턴을 표현하는 유연하고 강력한 도구이다.
파이썬에서는 re 모듈을 사용하여 정규 표현식을 지원한다.
정규 표현식은 다양한 메타문자(meta-characters), 특수 시퀀스(special sequences), 문자 클래스(character classes) 등을 사용하여 문자열 패턴을 표현한다.

이를 사용하면 문자열 검색, 대체, 분할, 추출 등의 작업을 효율적으로 수행할 수 있다.

 

다음은 정규 표현식에서 자주 사용되는 몇 가지 기본 요소이다.

 

메타문자(meta-characters)

  • . : 어떤 문자와도 매치, 개행 문자를 제외한 모든 문자와 매치
  • ^ : 문자열의 시작과 매치
  • $ : 문자열의 끝과 매치
  • * : 앞의 패턴이 0번 이상 반복되는 부분과 매치
  • + : 앞의 패턴이 1번 이상 반복되는 부분과 매치
  • ? : 앞의 패턴이 0번 또는 1번 나타나는 부분과 매치
  • {m} : 앞의 패턴이 m번 반복되는 부분과 매치
  • {m, n} : 앞의 패턴이 m번에서 n번까지 반복되는 부분과 매치

 

특수 시퀀스(special sequences)

  • \d : 숫자와 매치됩니다.
  • \D : 숫자가 아닌 문자와 매치됩니다.
  • \w : 숫자 또는 문자와 매치됩니다.
  • \W : 숫자 또는 문자가 아닌 문자와 매치됩니다.
  • \s : 공백 문자와 매치됩니다.
  • \S : 공백이 아닌 문자와 매치됩니다.

 

문자 클래스(character classes)

  • [...] : 대괄호 안에 있는 문자 중 하나와 매치
  • [^...] : 대괄호 안에 없는 문자와 매치
  • [a-z] : a부터 z까지의 문자 중 하나와 매치
위의 요소들을 조합하여 복잡한 패턴을 표현할 수 있다.
 

 


re 모듈의 주요 함수

  • re.match(pattern, string) : 문자열의 시작에서 패턴과 매치하는지 검사
  • re.search(pattern, string) : 문자열 전체에서 패턴과 매치하는지 검사
  • re.findall(pattern, string) : 문자열에서 패턴과 매치하는 모든 부분을 찾아 리스트로 반환
  • re.finditer(pattern, string) : 문자열에서 패턴과 매치하는 모든 부분을 반복 가능한 객체로 반환
  • re.sub(pattern, repl, string) : 문자열에서 패턴과 일치하는 부분을 다른 문자열로 치환
이외에도 re.split( ) 등 다양한 함수와 함께 정규 표현식을 사용할 수 있다.

 

정규 표현식은 파이썬뿐만 아니라 다른 프로그래밍 언어와 많은 텍스트 편집기에서도 사용된다.

정규 표현식은 강력하지만 익숙하지 않을 수 있으므로, 패턴을 테스트하고 디버깅하기 위해 온라인 정규 표현식 테스트 도구를 활용하는 것이 도움이 될 수 있다.

 


반응형

'Back-End > Python' 카테고리의 다른 글

[Python] openpyxl  (0) 2023.06.28
[Python] deque  (0) 2023.06.27
[Python] zip 함수  (0) 2023.06.24
[Python] isdigit 메서드  (0) 2023.06.21
[Python] isnumeric 메서드  (0) 2023.06.19