[python] 정규표현식을 이용한 특정 단어가 포함된 문자열 검증

정규표현식(regular expression)은 문자열 패턴을 표현하는 방법으로, 특정한 조건을 만족하는 문자열을 검색하거나 변형하는 데에 사용됩니다. 이를 이용하여 특정 단어가 포함된 문자열을 검증하는 방법을 알아보겠습니다.

Python에서는 re 모듈을 사용하여 정규표현식을 다룰 수 있습니다. 아래는 특정 단어가 포함된 문자열을 검증하기 위한 예제 코드입니다.

import re

def validate_string_with_word(string, word):
    pattern = rf'\b{word}\b'  # 정규표현식 패턴 생성
    match = re.search(pattern, string)  # 패턴과 문자열 매칭 검사
    if match:
        return True
    else:
        return False

# 검증할 문자열과 단어 지정
input_string = "Hello, World! This is a test."
target_word = "test"

# 문자열 검증 실행
result = validate_string_with_word(input_string, target_word)

if result:
    print(f"{input_string} contains the word \"{target_word}\".")
else:
    print(f"{input_string} does not contain the word \"{target_word}\".")

위의 예제 코드에서는 validate_string_with_word 함수를 정의하여 특정 단어가 포함된 문자열을 검증합니다. 검증할 문자열과 검증할 단어를 함수의 인자로 전달하여 검증 결과를 반환받습니다. 검증 결과에 따라 화면에 적절한 메시지를 출력합니다.

만약 input_string이 “Hello, World! This is a test.”이고 target_word가 “test”라면, 출력 결과는 다음과 같을 것입니다:

Hello, World! This is a test. contains the word "test".

위의 코드에서 re.search(pattern, string) 함수를 사용하여 정규표현식 패턴과 문자열을 매칭 검사합니다. re.search() 함수는 첫 번째로 매칭된 패턴을 반환하며, 매칭이 없을 경우 None을 반환합니다.

정규표현식 패턴은 r'...' 형식으로 정의되며, \b는 단어의 경계를 나타내는 역할을 합니다. 따라서 rf'\b{word}\b'word 변수가 나타내는 단어가 단어 경계에 있는지를 검사합니다.

이를 통해 정규표현식을 이용하여 특정 단어가 포함된 문자열을 검증할 수 있습니다.


참고자료: