Programing

파이썬 정규식은 참 / 거짓을 반환합니다

lottogame 2020. 9. 4. 07:59
반응형

파이썬 정규식은 참 / 거짓을 반환합니다


파이썬 정규식을 사용하여 어떻게 True/를 False반환 할 수 있습니까? 모든 Python 반환은 다음과 같습니다.

<_sre.SRE_Match object at ...>

Match개체는 항상 true이며 None일치하는 항목이 없으면 반환됩니다. 진실성을 테스트하십시오.

if re.match(...):

정말로 필요하다면 True또는을 False사용하십시오.bool

>>> bool(re.search("hi", "abcdefghijkl"))
True
>>> bool(re.search("hi", "abcdefgijkl"))
False

다른 답변에서 지적했듯이 if또는에 대한 조건으로 while사용하는 경우 포장하지 않고 직접 사용할 수 있습니다.bool()


Ignacio Vazquez-Abrams가 맞습니다. 그러나 자세히 설명하기 위해 re.match()는로 None평가되는 False, 또는 True그가 말한대로 항상 일치하는 개체 반환합니다 . 정규식과 일치하는 부분에 대한 정보를 원하는 경우에만 일치 개체의 내용을 확인해야합니다.


이를 수행하는 한 가지 방법은 반환 값에 대해 테스트하는 것입니다. 당신이 <_sre.SRE_Match object at ...>그것을 얻고 있기 때문에 이것이 사실로 평가된다는 것을 의미합니다. 정규식이 일치하지 않으면 반환 값 None이 반환되며 이는 false로 평가됩니다.

import re

if re.search("c", "abcdef"):
    print "hi"

생성 hi출력한다.


내 방법은 다음과 같습니다.

import re
# Compile
p = re.compile(r'hi')
# Match and print
print bool(p.match("abcdefghijkl"))

참고 URL : https://stackoverflow.com/questions/6576962/python-regular-expressions-return-true-false

반응형