You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用grep匹配C++代码引号内的完整ARM/arm单词?

匹配C++源码中含完整ARM/arm单词的字符串字面量的正确grep命令

之前的grep命令会误匹配包含arm子串的单词(如alarm、Harmony),要精准匹配双引号包裹的字符串里的完整ARM/arm单词,可使用以下命令:

基础命令(区分大小写写法)

grep -riE '"[^"]*\b(ARM|arm)\b[^"]*"' . --include={*.h,*.cpp}

简化命令(忽略大小写)

利用-i选项忽略大小写,无需同时写ARM和arm,命令更简洁:

grep -riE '"[^"]*\barm\b[^"]*"' . --include={*.h,*.cpp}

命令解析

  • -r:递归遍历当前目录及子目录
  • -i:忽略大小写,自动匹配ARM、Arm、arm等所有大小写组合
  • -E:启用扩展正则表达式,支持括号分组等语法
  • 正则核心部分"[^"]*\barm\b[^"]*":
    • ":匹配字符串起始的双引号
    • [^"]*:匹配双引号内任意非双引号字符(0个或多个),确保不会跨字符串匹配
    • \b:单词边界锚点,保证arm是独立完整的单词,不会和其他字符拼接(如alarm中的arm前后无单词边界,会被排除)
    • [^"]*":匹配单词后的剩余字符及字符串结束的双引号

验证效果

  • 会匹配的示例:"ARM "、" ARM"、"abc ARM"、"ARM,"、"(ARM)"
  • 不会匹配的示例:"Harmony"、"alarm "、"armory"

内容的提问来源于stack exchange,提问作者Alexey Starinsky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 06:22:10