gpt4 book ai didi

regex - 使用 sed 和正则表达式删除前缀

转载 作者:行者123 更新时间:2023-12-01 09:09:40 29 4
gpt4 key购买 nike

我正在尝试使用 sed(1) 删除所有出现的 std::memsetstd::memcpy::memset::memcpy。我尝试了以下模式,但它不起作用 — 我只是得到相同的文本。

$ sed 's/std\(::\(memset|memcpy\)\)/${\1}/g'

基本上,如果后面跟着 ::memset::memcpy,我想摆脱 std。

最佳答案

通过为 GNU sed 提供命令行选项 -r 或为 BSD 系统(如 Mac OS)提供 -E,在脚本中使用扩展的正则表达式。

linux$ sed -r 's/std(::(memset|memcpy))/\1/g' code.cpp

macos$ sed -E 's/std(::(memset|memcpy))/\1/g' code.cpp

关于regex - 使用 sed 和正则表达式删除前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9643360/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com