我有一个字符串:
lopy,lopy1,sym,lopy,lopy1,sym"
我希望这行内容变成:
lopy,lopy1,sym,lady,lady1,sym
这意味着字符串 sym 后面的所有 "lad" 都应该被替换。因此我运行了:
echo "lopy,lopy1,sym,lopy,lopy1,sym" | sed -r 's/(.*sym.*?)lopy/\1lad/g'
我理解为:
lopy,lopy1,sym,lopy,lad1,sym
使用 Perl 并不一定更好:
echo "lopy,lopy1,sym,lopy,lopy1,sym" | perl -pe 's/(.*sym.+?)lopy/${1}lad/g'
产出
lopy,lopy1,sym,lad,lopy1,sym
并非所有的“lopy”都被替换了。我做错了什么?