正则表达式 – 如何逃避加号在mac os x(BSD)sed?

前端之家收集整理的这篇文章主要介绍了正则表达式 – 如何逃避加号在mac os x(BSD)sed?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图找到并替换一个或多个出现的字符使用sed从mac,从BSD一般命令sed.

我试试:

echo "foobar" | sed -e "s/o+//g

期待看到:

fbar

而是我看到

foobar

我当然可以手动扩展加号:

echo "foobar" | sed -e "s/oo*//g"

但是为了得到加号,我该怎么办?

使用/ g标志,s / o // g就足以取代所有o的出现.

为什么不按预期工作:在旧的,过时的re是一个普通的字符(以及|,?).您应该指定-E标志以使其使用现代正则表达式:

echo "foobar" | sed -E -e "s/o+//"
# fbar

资料来源:man 7 re_format.

原文链接:https://www.f2er.com/regex/357164.html

猜你在找的正则表达式相关文章