import re
regex = re.compile(r"(,[^.?!\n]*)( and| or)\b", flags=re.IGNORECASE)
test_str = ("I love my parents, Bon Jovi and Lada Gaga.\n\n"
"We invited the strippers, Hitler and Stalin.\n\n"
"The problem is, you can never know if the user is making a list, or just typing a bunch of words and inserting commas.\n\n"
"I'm not sure whether to eat, shoot or leave!\n\n"
"Don't get this one or I'll be upset at you.\n\n"
"Put a command before this and I'll be sad.")
subst = "$1,$2"
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