Необработанные строки Python и Unicode: как использовать веб-ввод в качестве шаблонов регулярных выражений?

РЕДАКТИРОВАТЬ: Этот вопрос не имеет смысла, как только вы поймете, что означает флаг «r». ПодробнееВот, Для тех, кто ищет быстрый ответ, я добавил ниже.

Если я ввожу регулярное выражение вручную в скрипте Python, я могу использовать 4 комбинации флагов для моих строк шаблона:

p1 = "образец"p2 = u "шаблон"p3 = r "шаблон"p4 = ru "шаблон"

У меня есть куча Unicode-строк, поступающих из веб-формы ввода и хочу использовать их в качестве шаблонов регулярных выражений.

Я хочу знать, какой процесс мне следует применить к строкам, чтобы я мог ожидать аналогичного результата от использования формы, приведенной выше. Что-то вроде :

import re
assert re.match(p1, some_text) == re.match(someProcess1(web_input), some_text)
assert re.match(p2, some_text) == re.match(someProcess2(web_input), some_text)
assert re.match(p3, some_text) == re.match(someProcess3(web_input), some_text)
assert re.match(p4, some_text) == re.match(someProcess4(web_input), some_text)

Что было бы от какого-нибудь Process1 до someProcessN и почему?

Я полагаю, что someProcess2 не нужно ничего делать, в то время как someProcess1 должен выполнить некоторое преобразование Unicode в локальную кодировку. Для необработанных строковых литералов я ничего не понимаю.

Ответы на вопрос(3)

Ваш ответ на вопрос