sed非贪婪匹配

如何用sed删除 “北京市-朝阳区-” ?即删除前2个 - 的内容

北京市-朝阳区-土城2F-10
阅读 18k
1 个回答
echo "北京市-朝阳区-土城2F-10" | sed 's/^\([^-]*-\)\{2\}//'

sed不支持非贪婪模式, 所以比较麻烦
要简单可以考虑perl, 其正则表达式规范(语法)也就是PCRE在大多数语言中都通用

echo "北京市-朝阳区-土城2F-10" | perl -pe 's/^(.*?-){2}//'
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进