我想知道是否可以对 RegEx 变量值进行一些简单的数学运算。例如:
我正在寻找所有两位数字是一个文本文件,并希望将它们乘以 10。简单的正则表达式能够做到这一点还是我需要使用更复杂的脚本?
谢谢!
将两位数相乘就像附加0
在数字的末尾。因此,可以使用任何支持替换和捕获组的正则表达式来完成。
例如,这里是 Python 代码:
>>> re.sub(r'\b(\d{2})\b', r'\g<1>0', 'There are 10 apples.')
'There are 100 apples.'
但是你想要的是乘以任意数字,那么你需要支持某种回调/评估的正则表达式引擎。
>>> re.sub(r'\b(\d{2})\b', lambda m: str(int(m.group(1)) * 5), '10 apples.')
'50 apples.'