Я использую Jinja2 и хочу сделать регулярное выражение с некоторыми специальными символами.В моем шаблоне Jinja я вызываю фильтр, который работает на Python, передавая text
как unicode .
def insert_link(text, link):
artigo_pattern = r"art(\.|(igo))?\s?\d+\s?(o|º|\.)?"
#Pattern with error
paragrafo_pattern = r"(§\s?\d+\s?(o|º|\.)?)|(par(a|á|Á)grafo\s(u|ú|Ú)nico)"
alinea_pattern = r"[a-z]\s?\)"
finalPattern = ')|('.join([
artigo_pattern , paragrafo_pattern, alinea_pattern
])
finalPattern = ''.join([ "((", finalPattern, "))" ])
mat = re.match(finalPattern, text, re.IGNORECASE)
Но он никогда не распознает шаблон " § 7o потому что § характер.Когда я заменяю r на u, другие шаблоны не распознаются как «Parágrafo único».
Итак, как сделать общее регулярное выражение для всех шаблонов выше?