[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 문자열로 처리합니다.

참고 자료