INNER CODE UNIT · Python
replace_increments
veg/hyphy · Testing/replace_increment.py:4
def replace_increments(filepath):
with open(filepath, 'r') as f:
content = f.read()
# ONLY + is allowed! mi = mi + 1 -> mi += 1
pattern = r'\b([a-zA-Z_][a-zA-Z0-9_]*(?:\[[^\]]+\])*)\s*=\s*\1\s*\+\s*([^;]+?)\s*;'
def replacer(match):
var = match.group(1)
val = match.group(2)
return f"{var} += {val};"
new_content = re.sub(pattern, replacer, content)
pattern_for = r'\b([a-zA-Z_][a-zA-Z0-9_]*(?:\[[^\]]+\])*)\s*=\s*\1\s*\+\s*([^;)]+?)\s*(\)|;)'
def replacer_for(match):
var = match.group(1)
val = match.group(2)