【问题标题】:Replace all occurrences of PHP function name with SED用 SED 替换所有出现的 PHP 函数名
【发布时间】:2015-10-27 03:23:00
【问题描述】:

我有一个 PHP 文件,其中多次调用函数 my_function(),我想用 blah_blah() 替换它,只需在各处重命名函数名称即可。我也有another_my_function(),我不想被替换。

这里我创建了正则表达式:

[^\w\*]my_function\(

这意味着前缀应该是一些特殊字符,而不是带有起始圆括号的函数名。我将它替换到一个文件夹中,所以我们开始吧:

find my_folder_name -type f -exec sed -i 's/[^\w\*]my_function(/blah_blah(/g' {} \;

圆括号不是 sed 的特殊字符,所以我们不需要转义它。 问题是,你肯定注意到了,它会替换包含前缀符号[^\w\*] 的函数名。

如何只替换函数名?

【问题讨论】:

  • \b 代替,用于单词边界?
  • 完整代码是什么?

标签: php regex sed find


【解决方案1】:

这是正确的解决方案,感谢 Marc B!

find my_folder_name -type f -exec sed -i 's/\bmy_function(/blah_blah(/g' {} \;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    • 1970-01-01
    • 2013-03-28
    • 2023-01-03
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多