首页 > 解决方案 > 删除文本编辑器中的功能,保留参数

问题描述

我正在从一个项目更新旧代码,它有数千个旧的 php mysql_real_escape_string() 调用。

问题是我无法进行搜索替换,因为我需要将参数保留在 () 中,然后从调用中删除关闭 )。这可以在像 sublime 或 vscode 这样的编辑器中完成吗?

标签: regexvisual-studio-codesublimetext3

解决方案


对于您的具体问题(我正在使用 Sublime Text 3)

示例字符串:

mysql_real_escape_string(parameter) 

查找模式(注意我们需要转义函数的括号):

mysql_real_escape_string\((.*?)\)

代替:

new_fun(\1)

这将导致:

new_fun(parameter) 

我们匹配旧函数,并捕获第 1 组中的参数。然后替换为新函数,并将参数(第 1 组中捕获)放入 using\1

现场示例:https ://regex101.com/r/OqOGGX/1


推荐阅读