регулярные выражения 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" 

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

  • Использование регулярного выражения для извлечения информации из строки
  • Как заставить границу слова \ b не совпадать с тире
  • Библиотека Python для генерации регулярных выражений
  • Escape space в пути к файлу
  • Число фильтров Regex делится на 3
  • почему \ b не работает в модуле python re?
  • Regex python не будет работать, поскольку я хочу
  • Parsing srt субтитры
  • Найти все возможные подстроки, начинающиеся с символов из группы захвата
  • Регулярное выражение в Python не будет соответствовать концу строки
  • Проверьте, соответствует ли строка шаблону
  • Python - лучший язык программирования в мире.