我正在尝试将我前一段时间在 bash 中编写的脚本移植到 PHP 中。一个特定的行是关于转义所有非字母数字字符。
在 bash 中,我能够将其作为单行执行,如下所示:
echo "aaa bbb::" | sed 's/\([^a-zA-Z0-9]\)/\\\1/g'
# => aaa\ bbb\:\:
我在 PHP 中最接近的是:
echo preg_replace('/([^a-zA-Z0-9])/','\\\','aaa bbb::');
# => aaa\bbb\\
但是,我正在努力在内部重用我的正则表达式组preg_replace
(我尝试了 \1 和 $1)。
有人可以帮我搞定这个 PHP 单行吗?