import re
regex = re.compile(r"(?:<[pP]>)?(?:<strong>)(?:<br \/>)([\"!?–\-\/\wÅåÄäÖö;,.\(\)\[\]&\s:+]+)(?:<\/strong>)([\"!?–\-\/\wÅåÄäÖö;,.\(\)\[\]&\s:+]+)((?:<br \/>)?)([\"!?–\-\/\wÅåÄäÖö;,.\(\)\[\]&\s:+]+)", flags=re.MULTILINE)
test_str = ("<strong><A NAME=\"Bondeupproret\"></A>Andersson, Per,</strong> Bondeupproret i Skåne 1811 / Per Andersson, Arne Ribnell. – [Ny, utökad uppl.]. – Malmö, 1996. – 12 s.\n"
"<p><strong><br />Andersson, Per,</strong> Litteratur om Svedalatrakten. – Malmö[?], 197-. – 6 bl.\n"
"<p><strong><br /><A NAME=\"borgar_slott\"></A>Andersson, Per,</strong> Skånska borgar, slott och herrgårdar. – Lund, 1996. – 212 s.\n"
"<p><strong><br /><A NAME=\"Skånska_kyrkor\"></A>Andersson, Per,</strong> Skånska kyrkor, kapell, kloster och andra kyrkliga byggnader. – Malmö, 1985. – 254 s.\n"
"<p><strong><br /><A NAME=\"Att_läsa\"></A>Ericsson, Acke,</strong> Att läsa om Sturup. // SkNK. – 1973, h. 1, s. 37-40.\n"
"<br />Urval ur Acke Ericssons bibliografi, se nedan.\n"
"<p><strong><br /><A NAME=\"Sturup\"></A>Ericsson, Acke,</strong> Sturup. – Malmö, 1973. – 24 bl.\n"
"<p><strong><br />Jönsson, Knut,</strong> Anteckningar till en bibliografi över Bara kommun. – Borås, 1975. – 76 bl.\n"
"<p><strong><br />Lönnäng, Ragnar</strong>, Handbok för resor till skånska slott. - Simrishamn, 2003 – 156 s. : ill.\n"
" <br />Börringekloster, Klågerup, Skabersjö, Torup.\n")
subst = "<p><strong>$1</strong>$2$3$4</p>"
result = regex.sub(subst, test_str)
if result:
print(result)
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html