如何使用正则表达式将某些内容附加到字符串?

时间:2016-07-04 15:42:05

标签: regex jupyter jupyter-notebook

我有一堆代码,这些代码遍布各处:

plt.savefig( 'fig1.png' )
...
plt.savefig( 'figblah.png' )

我想将每一行改为:

plt.savefig( 'fig1.png', dpi=300  )
...
plt.savefig( 'figblah.png', dpi=300 )

我对正则表达式非常缺乏经验,并且尝试了一段时间但没有成功。我在这里浏览了很多问题,但还没有成功。到目前为止,我可以找到(?=savefig).*的字符串,但我已经卡在那里了。我想这个问题是某种方式得到找到的值并附加',dpi = 300  字符串,但不知道如何做到这一点。

(我在jupyter-notebook工作,如果这有所不同)

3 个答案:

答案 0 :(得分:1)

有多种方式,一种是正向背后隐藏

(?<=plt\.savefig) # positive lookbehind for plt.savefig
\(                # match an opening parenthesis
([^)]+)           # capture anything not a )
\)                # match a closing parenthesis

这需要替换为(\1, dpi=300),请参阅a demo on regex101.com

答案 1 :(得分:1)

从您的有限示例中,将)替换为, dpi=300)就足够了。如果您需要捕获savefig,则可以使用(savefig\([^)]+)\)和替换$1, dpi=300)之类的内容。

答案 2 :(得分:0)

在查看supertest后,我发现了 捕获群组 并自行找到了解决方案:

搜索:(savefig.*\ )

替换为:$1, dpi=300