[python] 정규표현식을 이용한 특정 문자열 포함 검색
정규표현식(regular expression)은 문자열에서 원하는 패턴을 검색하고 처리하는 데 사용되는 강력한 도구입니다. 특정 문자열을 포함한 패턴을 검색하려는 경우 정규표현식을 사용할 수 있습니다.
Python에서는 re
모듈을 사용하여 정규표현식을 처리할 수 있습니다.
특정 문자열 포함 여부 확인하기
다음은 정규표현식을 사용하여 특정 문자열이 포함되어 있는지 확인하는 예제입니다.
import re
# 원본 문자열
text = "Hello, World! 안녕하세요!"
# 검색할 패턴
pattern = r"Hello"
# 정규표현식 패턴 검색
result = re.search(pattern, text)
if result:
print("특정 문자열이 포함되어 있습니다.")
else:
print("특정 문자열이 포함되어 있지 않습니다.")
위의 코드에서는 re.search()
함수를 사용하여 정규표현식 패턴을 검색합니다. 패턴이 문자열에 포함되어 있으면 re.Match
객체가 반환되고, 포함되어 있지 않으면 None
이 반환됩니다. 따라서 if
문을 사용하여 결과를 확인할 수 있습니다.
대소문자 구분 없이 검색하기
정규표현식을 사용하여 대소문자를 구분하지 않고 특정 문자열을 검색하려는 경우 re.IGNORECASE
플래그를 사용할 수 있습니다.
import re
# 원본 문자열
text = "Hello, World! 안녕하세요!"
# 검색할 패턴
pattern = r"hello"
# 정규표현식 패턴 검색 (대소문자 구분 없이)
result = re.search(pattern, text, re.IGNORECASE)
if result:
print("특정 문자열이 포함되어 있습니다.")
else:
print("특정 문자열이 포함되어 있지 않습니다.")
위의 코드에서는 re.IGNORECASE
플래그를 re.search()
함수의 세 번째 매개변수로 전달하여 대소문자를 구분하지 않고 검색합니다.
패턴에 변수 사용하기
정규표현식 패턴에 변수를 사용하여 동적으로 패턴을 생성할 수도 있습니다. 다음은 변수를 사용하여 특정 문자열이 포함되어 있는지 검색하는 예제입니다.
import re
# 원본 문자열
text = "Hello, World! 안녕하세요!"
# 검색할 문자열
search_string = "Hello"
# 검색할 패턴 생성
pattern = rf"{search_string}"
# 정규표현식 패턴 검색
result = re.search(pattern, text)
if result:
print("특정 문자열이 포함되어 있습니다.")
else:
print("특정 문자열이 포함되어 있지 않습니다.")
위의 코드에서는 search_string
변수를 사용하여 패턴을 동적으로 생성합니다. {}
안에 변수명을 넣고 rf
접두사를 사용하여 raw 문자열로 처리합니다.