正则表达式最常见的一个傻逼问题是,分隔符用 /
,事实上 /
太常见了,以至于要匹配路径或者网址,灾难就来了,一堆 \/
跟不需要转义的 /
再混一起,不要太酸爽。(而且在有些语言可能不是 \/
还得是 \\/
)
事实上分隔符可以自定义,就是因为你可以自己选(最好是内容里没出现过的),很多人不明就里。
我习惯上用 #
分隔,这在替换目录字符串时,效果一目了然:
sed -i "s#/foo/bar/#/new/#" path.txt
sed -i "s/\/foo\/bar\//\/new\//" path.txt