import re
s = '001000X00X001X00X'
print( re.sub(r'(?<=X)0+(?=X)', lambda x: '2' * len(x.group()), s) )
print( re.sub(r'(?<![^X])0+(?![^X])', lambda x: '2' * len(x.group()), s) )
aW1wb3J0IHJlCnMgPSAnMDAxMDAwWDAwWDAwMVgwMFgnCnByaW50KCByZS5zdWIocicoPzw9WCkwKyg/PVgpJywgbGFtYmRhIHg6ICcyJyAqIGxlbih4Lmdyb3VwKCkpLCBzKSApCnByaW50KCByZS5zdWIocicoPzwhW15YXSkwKyg/IVteWF0pJywgbGFtYmRhIHg6ICcyJyAqIGxlbih4Lmdyb3VwKCkpLCBzKSAp