정규식(regular expression, regex)은 문자열에서 특정한 패턴을 찾거나 조작하기 위해 사용되는 강력한 도구입니다. 파이썬에서는 re
모듈을 사용하여 정규식을 처리할 수 있습니다.
패턴을 생성하고 문자열과 일치하는지 확인하기 위해 정규식 패턴을 만드는 방법을 알아보겠습니다.
1. 정규식 패턴 생성
정규식 패턴을 생성하기 위해 re.compile()
함수를 사용합니다. 이 함수는 정규식 패턴을 컴파일하여 패턴 객체를 반환합니다. 패턴 객체를 사용하여 문자열과 일치하는지 확인할 수 있습니다.
import re
pattern = re.compile(r'정규식 패턴')
위의 예제에서 r'정규식 패턴'
은 문자열 '정규식 패턴'
을 정규식 패턴으로 사용한다는 것을 의미합니다. r
은 원시 문자열(raw string)을 나타내며, 백슬래시(\
)가 특별한 의미를 가지지 않고 그대로 표시됨을 나타냅니다.
2. 문자열과 일치 여부 확인
패턴 객체를 사용하여 문자열과 일치하는지 확인하려면 match()
또는 search()
메서드를 사용합니다.
match()
: 문자열의 시작 부분에서 정규식과 일치하는지 확인합니다.search()
: 문자열 전체에서 정규식과 일치하는지 확인합니다.
import re
pattern = re.compile(r'정규식 패턴')
string = '검사할 문자열'
if pattern.match(string):
print("문자열이 패턴과 일치합니다.")
else:
print("문자열이 패턴과 일치하지 않습니다.")
위의 예제에서는 match()
를 사용하여 문자열의 시작 부분에서 패턴과 일치하는지 확인하고 있습니다. 만약 패턴과 일치하지 않는다면, else
블록이 실행되어 “문자열이 패턴과 일치하지 않습니다.”를 출력합니다.
3. 패턴에 일치하는 부분 추출
정규식 패턴에 일치하는 부분을 추출하기 위해서는 findall()
메서드를 사용합니다. 이 메서드는 문자열에서 패턴과 일치하는 모든 부분을 리스트로 반환합니다.
import re
pattern = re.compile(r'정규식 패턴')
string = '검색할 문자열'
result = pattern.findall(string)
print(result)
위의 예제에서는 findall()
을 사용하여 문자열에서 패턴과 일치하는 모든 부분을 추출하고 있습니다. 이렇게 추출된 결과는 result
라는 리스트에 저장되며, 이를 출력합니다.
정규식은 다양한 패턴을 표현할 수 있는 강력한 도구입니다. 이를 이용하여 문자열에서 원하는 패턴을 찾거나 추출할 수 있습니다. 파이썬의 re
모듈을 사용하여 정규식 패턴을 생성하고 문자열과 일치 여부를 확인하며, 일치하는 부분을 추출하는 방법에 대해 알아보았습니다. 정규식을 활용하여 문자열 처리를 보다 효율적으로 할 수 있도록 노력해보세요!