import re
regex = re.compile(r"(?s)(?:\G(?!\A)|<p(?:\s[^>]*)?\sclass=\"(?:[^\"]*\s)?c01[\s\"])(?:(?!<p[\s>]).)*?\K\.(?=.*?</p>)", flags=re.MULTILINE)
test_str = ("<p class=\"c01 c02\">lorem ipsum. dolor sit. amet sed.</p>\n"
"<p class=\"c01 c02 c03 nnn>lorem ipsum. dolor sit. amet sed.</p>\n"
"<p class=\"c00 c01 c02 c03 nnn>lorem ipsum. dolor sit. amet sed.</p>\n"
"<p class=\"c00 c01-1 c02 c03 nnn>lorem ipsum. dolor sit. amet sed.</p>")
subst = "$0 #"
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