регулярные выражения python возвращают true / false

Используя регулярные выражения python, как вы можете вернуть true / false? Все возвраты python

<_sre.SRE_Match object at ...> 

4 Solutions collect form web for “регулярные выражения python возвращают true / false”

Объекты Match всегда верны, и None возвращается, если нет совпадения. Просто испытайте истинность.

 if re.match(...): 

Если вам действительно нужно True или False , просто используйте bool

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

Как указывали другие ответы, если вы просто используете его как условие для if или while , вы можете использовать его напрямую без обертывания в bool()

Игнасио Васкес-Абрамс прав. Но для уточнения, re.match () вернет либо None, что оценивает False, либо объект соответствия, который всегда будет True, как он сказал. Только если вам нужна информация о части (частях), которая соответствует вашему регулярному выражению, вам нужно проверить содержимое объекта соответствия.

Один из способов сделать это – просто проверить значение возврата. Поскольку вы получаете <_sre.SRE_Match object at ...> это означает, что это будет оцениваться как true. Когда регулярное выражение не сопоставляется, вы получите возвращаемое значение None, которое вычисляется как false.

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

Производит в качестве вывода.

Python - лучший язык программирования в мире.