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

正则表达式匹配命令行-v/--verbose选项的问题求助

搞定命令行选项匹配:修正正则覆盖含v的短选项与--verbose

你的需求很明确:要精准匹配两类命令行选项——长选项--verbose本身,以及所有包含v的短选项组合(比如-v、-vd、-av、-vvv这类),但当前用的--verbose|-[^-]v正则有漏洞,没法完整覆盖-v、全量的-vvv和-vd。

修正后的正则表达式

--verbose|-[^\s-]*v[^\s-]*

为啥这个正则管用?

拆解一下:

  • --verbose:直接精准匹配这个长选项,没毛病
  • -:抓短选项的开头标识
  • [^\s-]*:匹配任意数量(包括0个)的非空白、非连字符字符——这就解决了-v(前后没其他字符)、-av(前面带a)、-vd(后面带d)、-vvv(前后都是v)的情况
  • 中间的v:确保这个短选项里一定包含你要抓的核心字符
  • 末尾的[^\s-]*:把v后面跟着的其他短选项字符也全匹配上,比如-vvv会被完整命中,不会只截前两个v

验证效果

拿你给的示例测试,这个正则能完美匹配所有目标内容:

  • 单独的-v
  • 单独的-vv
  • -vd path -v里的-vd和-v
  • -vd path --version里的-vd
  • --skip-dependencies -vd path --version里的-vd
  • -vd path --verbose里的-vd和--verbose
  • 单独的-av
  • 完整的-vvv
  • 单独的--verbose

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 22:47:20