import re
regex = re.compile(r"(?-i)(?:^(?:Mc)?[A-Z]+(?:[ -][A-Z]+)*|\G(?!^)[A-Z][a-z]+(?:-[A-Z][a-z]+)*|\d{2}\.\d{2}\.\d{4})\K -?\h*")
test_str = ("ADLINGTON-JONES Robin Jacob Sebastian - 15.02.1999 - B\n\n"
"AFZAL Kiera - 25.04.2000 - B\n\n"
"AHMED Nisar Abu Ben Adhem - 16.08.2002 - C\n\n"
"AIRE-DEANE Christopher-James - 06.01.1997 - B\n\n"
"AL-MISRI Yaqoob - 23.07.2004 - C\n\n"
"ASTER Lily-May - 01.04.2010 - B\n\n"
"McQUEEN Stephen - 02.02.2001 - A")
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