Я пишу фрагмент кода Python, чтобы исправить корпус заголовков в HTML-коде.До сих пор я придумал этот код:
pattern = re.compile("<h1>(.*)</h1>|<h2>(.*)</h2>|<h3>(.*)</h3>|<h4>(.*)</h4>|<h5>(.*)</h5>|<h6>(.*)</h6>")
def replace(m):
contents = m.group(1)
replacement = contents[0] + contents[1:].lower()
return replacement
Затем, учитывая line
, я использую преобразование line = pattern.sub(replace, line)
.
Это не работаетпотому что m.group(1)
всегда None
, тогда как я бы хотел, чтобы это совпадение соответствовало любому из предложений в моем регулярном выражении.Поскольку шаблоны не могут использовать имя в Python, я несколько растерялся.
Очевидное решение - сгруппировать все шаблоны, которые я использовал, но тогда <h1>bla</h2>
будет распознан.Это нехорошо, поскольку <h1><a href="...">Bla</a></h1> <h2>Bla</h2>
должно дать два совпадения (<a href="...">Bla</a>
и <a href="...">Bla</a>
)
Идеи?