반응형
파이썬 정규식은 참 / 거짓을 반환합니다
파이썬 정규식을 사용하여 어떻게 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
반응형
'Programing' 카테고리의 다른 글
SQL : 접두사가있는 테이블 삭제 (0) | 2020.09.04 |
---|---|
어느 것이 더 빠릅니까? if (bool) 또는 if (int)? (0) | 2020.09.04 |
Java에서 JSON을 유창하게 빌드하는 방법은 무엇입니까? (0) | 2020.09.04 |
Spring Hibernate-현재 스레드에 대한 트랜잭션 동기화 세션을 가져올 수 없습니다. (0) | 2020.09.04 |
if (! $ scope. $$ phase) $ scope. $ apply ()를 안티 패턴으로 사용하는 이유는 무엇입니까? (0) | 2020.09.03 |