我想知道可以在RegEx变量值上做一些简单的Math。 E.G:
我正在寻找所有两位数的数字是一个文本文件,并希望将它们乘以10。 简单的正则表达式是否能够执行此操作,还是需要使用更复杂的脚本?
谢谢!
答案 0 :(得分:2)
将两位数字相乘就像在数字末尾附加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.'