Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 정규식에서 참(True)/거짓(False) 값을 얻는 방법

Python 정규식에서 참/거짓 값 얻기

Python의 re 모듈에서 제공하는 match()search() 메서드를 사용할 때, 문자열에서 패턴이 발견되면 불리언 값이 True인 Match 객체를 반환하고, 패턴이 발견되지 않으면 불리언 값이 False로 평가되는 None을 반환합니다.

즉, Match 객체는 항상 참(True)으로 평가되며, 매칭에 실패한 경우에는 None이 반환됩니다. 따라서 별도의 변환 과정 없이도 매칭 결과를 참/거짓으로 손쉽게 확인할 수 있습니다.

bool() 함수를 이용한 확인 예제

bool() 함수를 사용하면 매칭 결과를 명시적으로 참/거짓 값으로 변환하여 확인할 수 있습니다.

>>> bool(re.search("def", "abcdefgh"))
True
>>> bool(re.search("rest", "pqrstuv"))
False

위 예제에서 re.search("def", "abcdefgh")는 문자열 "abcdefgh" 안에서 "def"라는 패턴을 찾았으므로 True를 반환하고, "pqrstuv" 문자열에는 "rest" 패턴이 존재하지 않으므로 None(False)을 반환합니다.

조건문에서 바로 활용하기

bool() 함수로 변환하지 않더라도, Match 객체와 None은 각각 참과 거짓으로 평가되기 때문에 조건문에서 그대로 사용할 수 있습니다.

import re

if re.search("def", "abcdefgh"):
    print("패턴이 발견되었습니다!")
else:
    print("패턴이 존재하지 않습니다.")

이처럼 Python의 정규식 매칭 결과는 자체적으로 참/거짓 성격을 가지고 있어, 패턴 존재 여부를 검사하는 로직을 간결하게 작성할 수 있습니다.