본문 바로가기
파이썬/파이썬기본문법

파이썬 RegEx-2 (split(), sub())

by flycoding 2023. 11. 24.
반응형

RegEx 또는 정규식은 검색 패턴을 구성하는 문자의 시퀀스이다.

RegEx를 사용하여 문자열에 지정된 검색 패턴이 포함되어 있는지 확인할 수 있다.

 

 

파이썬 split() 함수

split() 함수는 각 매치에서 문자열이 분할된 리스트를 반환한다:

각 공백 문자에서 분할:

import re

#Split the string at every white-space character:

txt = "The rain in Spain"
print("txt : ", txt)
x = re.split("\s", txt)
print('re.split("\s", txt', x)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 split() 함수 활용 예제

 

maxsplit 매개변수를 지정하여 발생 횟수를 제어할 수 있다:

처음 발생할 때만 문자열을 분할한다:

import re

txt = "The rain in Spain"
print("txt : ", txt)
x = re.split("\s", txt, 1)
print('re.split("\s", txt, 1)', x)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 split() maxsplit 함수 활용 예제

 

파이썬 sub() 함수

sub() 함수는 일치 항목을 선택한 텍스트로 바꾼다:

공백 문자를 모두 숫자 9로 바꾼다:

import re

#Replace all white-space characters with the digit "9":

txt = "The rain in Spain"
print("txt : ", txt)
x = re.sub("\s", "9", txt)
print('re.sub("\s", "9", txt)', x)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 sub() 함수 활용 예제

 

count 운트 파라미터를 지정하여 교체 횟수를 제어할 수 있다:

처음 2개의 경우를 바꾼다:

import re

#Replace all white-space characters with the digit "9":

txt = "The rain in Spain"
print("txt : ", txt)
x = re.sub("\s", "9", txt, 2)
print('re.sub("\s", "9", txt, 2)', x)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 sub() 함수 count 매개변수 활용 예제

 

파이썬 매치 객체

매치 객체는 검색 및 결과에 대한 정보를 포함하는 객체이다.

일치 개체를 반환하는 검색을 수행한다:

import re

#The search() function returns a Match object:

txt = "The rain in Spain"
print("txt : ", txt)
x = re.search("ai", txt)
print('re.search("ai", txt)', x)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 search() 매치 객체 활용 예제

 

Match 객체에는 검색에 대한 정보를 검색하는 데 사용되는 속성과 메서드가 있으며 그 결과는 다음과 같다:

  • span ()는 경기의 시작 위치와 끝 위치가 포함된 튜플을 반환한다.
  • string은 함수에 전달된 문자열을 반환한다
  • group ()는 일치하는 문자열의 부분을 반환한다

 

첫 번째 매치 발생 위치(시작 및 종료 위치)를 인쇄한다.
정규식은 대문자 "S"로 시작하는 단어를 찾는다:

import re

#Search for an upper case "S" character in the beginning of a word, and print its position:

txt = "The rain in Spain"
print("txt : ", txt)
x = re.search(r"\bS\w+", txt)

print('re.search(r"\bS\w+", txt)', x)
print('x.span() : ', x.span())

위의 코드를 실행하면 아래 그림과 같다.

파이썬 research() span() 활용 예제

 

함수에 전달된 문자열을 인쇄한다:

import re

#The string property returns the search string:

txt = "The rain in Spain"
print("txt : ", txt)
x = re.search(r"\bS\w+", txt)
print('re.search(r"\bS\w+", txt', x)
print('x.string : ', x.string)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 search() string 활용 예제

 

문자열에서 일치하는 부분을 인쇄한다.
정규식은 대문자 "S"로 시작하는 단어를 찾는다:

import re

#Search for an upper case "S" character in the beginning of a word, and print the word:

txt = "The rain in Spain"
print("txt : ", txt)

x = re.search(r"\bS\w+", txt)
print('re.search(r"\bS\w+", txt)', x)

print("x.group() : ", x.group())

위의 코드를 실행하면 아래 그림과 같다.

파이썬 search() group() 함수 활용 예제

 

지금까지 파이썬 RegEx 정규식으로 다양한 상황 가운데 원하는 단어나 문장으 검색하는 식과 함수에 대해서 살펴보았다.

꼭 손으로 눈으로 머리로 익히며 실습하기를 바란다.

모두 화이팅입니다.!!!

 

출처 : 이 글의 출처는 w3schools사이트를 참고하였으며 필자가 추가하여 정리한 글입니다.

반응형

'파이썬 > 파이썬기본문법' 카테고리의 다른 글

파이썬 try except  (0) 2023.11.26
파이썬 PIP  (1) 2023.11.25
파이썬 RegEX - (findall(), search())  (1) 2023.11.23
파이썬 JSON  (2) 2023.11.22
파이선 math  (1) 2023.11.21

댓글