Python скомпилированное регулярное выражение - поиск без учета регистра - PullRequest
0 голосов
/ 09 мая 2019

Я делаю что-то не так, или ожидается следующее поведение при поиске скомпилированного регулярного выражения в Python с флагом IGNORECASE?Странное поведение в том, что кажется, что я должен определить IGNORECASE при компиляции регулярного выражения, но я не могу использовать флаг IGNORECASE при поиске скомпилированного регулярного выражения.

import re

regex_string = "test"

assert re.search(regex_string, "test")
assert re.search(regex_string, "TEST", re.IGNORECASE)

regex = re.compile(regex_string, re.IGNORECASE)
assert regex.search("test")
assert regex.search("TEST")
#assert regex.search("TEST", re.IGNORECASE) # appears logical but fails

regex2 = re.compile(regex_string)
assert regex2.search("test")
#assert regex2.search("TEST", re.IGNORECASE) # appears logical but fails

1 Ответ

1 голос
/ 09 мая 2019

Проверьте документацию для модуля python re:

  • re.search (pattern, string, flags = 0) разрешает флаги в качестве необязательного аргумента. 3.7 ссылка на документацию
  • Pattern.search (string [, pos [, endpos]]) не имеет.Скомпилированный шаблон должен быть скомпилирован с любыми настройками, которые вы хотите применить. 3.7 документация ссылка
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...