正确的代码测试但与sed一起使用时不匹配

Ale*_*ane 0 regex sed pipe

为什么如下

$ echo "test\|String" | sed 's/(?!\||\\)./&./g'
test\|String
Run Code Online (Sandbox Code Playgroud)

不生产:

t.e.s.t.\|S.t.r.i.n.g.
Run Code Online (Sandbox Code Playgroud)

测试了正则表达式代码,它在我的测试中正确选取字符串

我希望它能做到以下几点:

$ echo "test\|String" | sed 's/(?!\||\\)./&./g'
t.e.s.t.\|S.t.r.i.n.g.
Run Code Online (Sandbox Code Playgroud)

Die*_*ego 5

我会写下你所描述的内容:

echo "test\|String" | sed 's/[^\\|]/&./g'
Run Code Online (Sandbox Code Playgroud)