2

我想知道是否可以对 RegEx 变量值进行一些简单的数学运算。例如:

我正在寻找所有两位数字是一个文本文件,并希望将它们乘以 10。简单的正则表达式能够做到这一点还是我需要使用更复杂的脚本?

谢谢!

4

1 回答 1

3

将两位数相乘就像附加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.'
于 2013-11-11T13:25:13.527 回答