Python에서 정규 표현식 소개
정규 표현식은 복잡한 검색 및 바꾸기(또는 단순히 검색)를 위한 명령입니다. 정규 표현식을 사용하면 매우 흥미로운 작업을 수행할 수 있지만, 안타깝게도 익히기가 상당히 어렵습니다.
Python에서 정규 표현식 작업을 시작하려면 특별한 모듈 re를 가져와야 합니다:
import re
모듈 re에는 정규 표현식 작업을 위해 설계된 메서드가 포함되어 있습니다. 정규 표현식은 일련의 명령으로 구성되며 두 가지 유형의 문자로 구성됩니다: 자기 자신을 나타내는 문자와 특수 문자라고 불리는 명령 문자입니다.
정규 표현식은 문자열에서 바꾸기를 수행하는 sub 메서드 예제로 시작하는 것이 좋습니다. 이 메서드는 첫 번째 매개변수로 무엇을 바꿀 것인지, 두 번째 매개변수로 무엇으로 바꿀 것인지를 받습니다. 세 번째 매개변수에서는 바꾸기를 수행해야 할 문자열을 지정합니다. 네 번째 선택적 매개변수에서는 바꾸기 횟수를 설정합니다. 이 메서드를 사용한 가장 간단한 바꾸기는 다음과 같습니다:
res = re.sub('a', '!', 'bab')
print(res) # 출력: 'b!b'
눈치채셨겠지만, 정규 표현식에서 문자는 자기 자신을 나타냅니다. 숫자도 마찬가지입니다. 숫자 2를 !로 바꿔봅시다:
res = re.sub('2', '!', '12abc3')
print(res) # 출력: '1!abc3'
그러나 마침표는 특수 문자이며 모든 문자를 나타냅니다. 다음 예제에서 다음 패턴에 맞는 하위 문자열을 찾아봅시다: 문자 'x', 그 다음 임의의 문자, 다시 문자 'x':
res = re.sub('x.x', '!', 'xax eee')
print(res) # 출력: '! eee'
주어진 문자열:
txt = 'ahb acb aeb aeeb adcb axeb'
다음 패턴에 맞는 문자열 'ahb', 'acb', 'aeb'를 찾는 정규식을 작성하세요: 문자 'a', 임의의 문자, 문자 'b'.
주어진 문자열:
txt = 'aba aca aea abba adca abea'
다음 패턴에 맞는 문자열 'abba', 'adca', 'abea'를 찾는 정규식을 작성하세요: 문자 'a', 2개의 임의의 문자, 문자 'a'.
주어진 문자열:
txt = 'aba aca aea abba adca abea'
'adca'를 잡지 않으면서 'abba'와 'abea'를 찾는 정규식을 작성하세요.