Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的反向引用_Python_Regex_Re - Fatal编程技术网

Python中的反向引用

Python中的反向引用,python,regex,re,Python,Regex,Re,我有一个很大的txt文件,我想用Python的re模块编辑它。 一旦找到与正则表达式匹配的字符串,我想对它们进行一些更改,并将它们写回txt文件。 比如说, 原文 9乘以2等于 ans= 18 所需输出: 9 multiplied by 2 is 18. 在Atom中,我可以通过搜索([a-z]+)\s+ans\s=\s+(\d+)并替换为$1$2。 在Python中,$分组不适用于.sub()。关于如何实现这种类型的反向引用,有什么建议吗 编辑:我正在使用?p进行反向引用,但如果我尝试进行

我有一个很大的txt文件,我想用Python的
re
模块编辑它。 一旦找到与正则表达式匹配的字符串,我想对它们进行一些更改,并将它们写回txt文件。 比如说,

原文

9乘以2等于
ans=
18
所需输出

9 multiplied by 2 is 18.
在Atom中,我可以通过搜索
([a-z]+)\s+ans\s=\s+(\d+)
并替换为
$1$2
。 在Python中,
$
分组不适用于
.sub()
。关于如何实现这种类型的反向引用,有什么建议吗


编辑:我正在使用
?p
进行反向引用,但如果我尝试进行多次替换,则会出现故障。

re
模块中,而不是对组1使用
\1
。这应该允许您保持正则表达式的原样,并以类似的方式转换任何其他正则表达式。正确的功能和定义在

中概述,谢谢。如果我尝试进行多次替换,这将不起作用。你知道怎么解决吗?@aasshas如果你打算使用字典(你原来的问题中没有提到),你可以看看这个问题,它似乎在做与你尝试的相同的事情。