我需要替换数百if (ereg("avion","$keyw"))
个if (preg_match("@avion@","$keyw")) {
我试过这个:
第一个:ereg\("(.*)"
第二:preg_match\("@$1@"
但它用'$1'代替了第一组......请问有什么想法吗?
使用sed
您可以尝试这种方式:
sed -i".bak" 's/(ereg("\([a-z]*\)","\$keyw"))/\(preg_match\("@\1@","$keyw"\)\)/' filename
编辑:更新以匹配任何单词,而不仅仅是“航空”
这适用于我拥有的 UltraEdit 版本:
我只是不确定你为什么要@
替换。
您可以为所有选择“当前文件”而不是我用于比较的“选定文本”。
另一件需要注意的事情,使用它可能更安全:
ereg\("(.*?)",
代替:
preg_match("@$1@",