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) |
위의 코드를 실행하면 아래 그림과 같다.
maxsplit 매개변수를 지정하여 발생 횟수를 제어할 수 있다:
처음 발생할 때만 문자열을 분할한다:
import re txt = "The rain in Spain" print("txt : ", txt) x = re.split("\s", txt, 1) print('re.split("\s", txt, 1)', x) |
위의 코드를 실행하면 아래 그림과 같다.
파이썬 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) |
위의 코드를 실행하면 아래 그림과 같다.
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) |
위의 코드를 실행하면 아래 그림과 같다.
파이썬 매치 객체
매치 객체는 검색 및 결과에 대한 정보를 포함하는 객체이다.
일치 개체를 반환하는 검색을 수행한다:
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) |
위의 코드를 실행하면 아래 그림과 같다.
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()) |
위의 코드를 실행하면 아래 그림과 같다.
함수에 전달된 문자열을 인쇄한다:
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) |
위의 코드를 실행하면 아래 그림과 같다.
문자열에서 일치하는 부분을 인쇄한다.
정규식은 대문자 "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()) |
위의 코드를 실행하면 아래 그림과 같다.
지금까지 파이썬 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 |
댓글