import re
regex = re.compile(r"(<(?!(li|ul))[^>]+) style=\".*?\"", flags=re.MULTILINE)
test_str = ("<p class=\"BodyTextIndent3\">\n"
" <strong>[To do]</strong> Style we need to have work in Tech zone: “Body Text Indent 2” so that we can indent paragraphs under a sub-step or sub-bullet, such as a paragraph containing a graphic.\n"
" </p>\n"
" <ul style=\"margin:0pt; padding-left:0pt\">\n"
" <li class=\"ListParagraph\" style=\"margin-left:27.14pt; text-indent:0pt; padding-left:8.86pt; font-family:serif\">\n"
" <span style=\"font-family:'Metropolis Light'\">This is a first-level bullet item (that works right now) created by using the </span><strong><span style=\"font-family:'Metropolis Light'; \">List Paragraph and then clicking the Bullet button in the toolbar</span></strong><span style=\"font-family:'Metropolis Light'\">. Then, if you want to create sub-bullets, just also press the Tab key, like this:</span>\n"
" <ul style=\"margin-right:0pt; margin-left:0pt; padding-left:0pt\">\n"
" <li class=\"ListParagraph\" style=\"margin-left:28.4pt; text-indent:0pt; padding-left:7.6pt\">\n"
" <span style=\"font-family:'Metropolis Light'\">This is a sub-bullet by using the </span><strong><span style=\"font-family:'Metropolis Light'; \">List Paragraph style, using a bulleted list and then pressing Tab</span></strong><span style=\"font-family:'Metropolis Light'\">. If you press Return now, you will get another sub-bullet.</span>\n"
" <ul style=\"margin-right:0pt; margin-left:0pt; padding-left:0pt\">\n"
" <li class=\"ListParagraph\" style=\"margin-left:27.12pt; text-indent:0pt; padding-left:8.88pt\">\n"
" <span style=\"font-family:'Metropolis Light'\">This is a sub-bullet by using the </span><strong><span style=\"font-family:'Metropolis Light'; \">List Paragraph style, using a bulleted list and then pressing Tab twice</span></strong><span style=\"font-family:'Metropolis Light'\">. If you press Return now, you will get another sub-sub-bullet.</span>\n"
" </li>\n"
" </ul>\n"
" </li>\n"
" </ul>\n"
" </li>\n"
" </ul>\n"
" <p class=\"BodyText\">\n"
" Following are some examples taken from the RA appendixes. We need enough styles so that we can get these to work on Tech zone:\n"
" </p>\n"
" <p class=\"BodyText\">\n"
" To configure the cluster quorum settings:\n"
" </p>\n"
" <ol style=\"margin:0pt; padding-left:0pt\">\n"
" <li class=\"ListParagraph\" style=\"margin-left:33.8pt; text-indent:0pt; padding-left:2.2pt\">\n"
" Configure quorum votes for Site 1:\n"
" <ol style=\"margin-right:0pt; margin-left:0pt; padding-left:0pt; list-style-type:lower-latin\">\n"
" <li class=\"ListParagraph\" style=\"margin-left:33.8pt; text-indent:0pt; padding-left:2.2pt\">\n"
" Open Failover Cluster Manager and select<span style=\"font-family:Cambria\"> </span><strong>More Actions</strong><span style=\"font-family:Cambria\"> </span>><span style=\"font-family:Cambria\"> </span><strong>Configure Cluster Quorum Settings</strong>.\n"
" </li>\n"
" <li class=\"ListParagraph\" style=\"margin-left:33.8pt; text-indent:0pt; padding-left:2.2pt\">\n"
" Complete the Configure Cluster Quorum Wizard, using the following guidelines:\n"
" </li>\n"
" </ol>\n"
" </li>\n"
" </ol>")
subst = ""
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