import re
string = """
Male Name=Tony;
Female Name=Alice.1;
Female Name=Alice.2;
Male Name=Ben;
Male Name=Shankar;
Male Name=Bala;
Female Name=Nina;
###
Female Name=Alex.1;
Female Name=Alex.2;
Male Name=James;
Male Name=Graham;
Female Name=Smith;
###
Female Name=Xing;
Female Name=Flora;
Male Name=Steve.1;
Male Name=Steve.2;
Female Name=Zac;
###
"""
hashrx = re .compile ( r'^###$' , re .MULTILINE )
namerx = re .compile ( r'Name=\w +(\. \d +)?;' )
new_string = '###' .join ( [ namerx.sub ( r"Name=Class_{}\1 " .format ( idx + 1 ) , part)
for idx, part in enumerate ( hashrx.split ( string ) ) ] )
print ( new_string)
aW1wb3J0IHJlCgpzdHJpbmcgPSAiIiIKTWFsZSAgICBOYW1lPVRvbnk7ICAKRmVtYWxlICBOYW1lPUFsaWNlLjE7IApGZW1hbGUgIE5hbWU9QWxpY2UuMjsKTWFsZSAgICBOYW1lPUJlbjsgCk1hbGUgICAgTmFtZT1TaGFua2FyOyAKTWFsZSAgICBOYW1lPUJhbGE7IApGZW1hbGUgIE5hbWU9TmluYTsgCiMjIwpGZW1hbGUgIE5hbWU9QWxleC4xOyAKRmVtYWxlICBOYW1lPUFsZXguMjsKTWFsZSAgICBOYW1lPUphbWVzOyAKTWFsZSAgICBOYW1lPUdyYWhhbTsgCkZlbWFsZSAgTmFtZT1TbWl0aDsgIAojIyMKRmVtYWxlICBOYW1lPVhpbmc7CkZlbWFsZSAgTmFtZT1GbG9yYTsKTWFsZSAgICBOYW1lPVN0ZXZlLjE7Ck1hbGUgICAgTmFtZT1TdGV2ZS4yOyAKRmVtYWxlICBOYW1lPVphYzsgIAojIyMKIiIiCgpoYXNocnggPSByZS5jb21waWxlKHInXiMjIyQnLCByZS5NVUxUSUxJTkUpCm5hbWVyeCA9IHJlLmNvbXBpbGUocidOYW1lPVx3KyhcLlxkKyk/OycpCgpuZXdfc3RyaW5nID0gJyMjIycuam9pbihbbmFtZXJ4LnN1YihyIk5hbWU9Q2xhc3Nfe31cMSIuZm9ybWF0KGlkeCArIDEpLCBwYXJ0KSAKCQkJCWZvciBpZHgscGFydCBpbiBlbnVtZXJhdGUoaGFzaHJ4LnNwbGl0KHN0cmluZykpXSkKcHJpbnQobmV3X3N0cmluZykK