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

关于ctest -R参数所用正则表达式语法的技术咨询

CTest正则表达式语法详解(针对多测试用例筛选)

我来帮你梳理下CTest正则表达式的使用细节,刚好能解决你要指定多个测试用例运行的需求~

首先明确:CTest 使用的是POSIX扩展正则表达式(Extended Regular Expressions, ERE),这是Unix/Linux系统里常用的正则标准,和grep -E这类工具的语法完全一致,上手成本很低。

核心语法要点(贴合你的需求)

  • 或操作(|):这正是你需要的多测试用例匹配方式,直接用|分隔不同的测试用例名称即可。比如你写的:
    ctest -R "SomeTest|SomeOtherTest"
    
    这个命令会精准匹配名称为SomeTest或者SomeOtherTest的测试用例,完全符合你的预期。
  • 精确匹配防护:如果担心匹配到类似SomeTestExtra或OtherSomeTest这类无关用例,可以用^(匹配字符串开头)和$(匹配字符串结尾)包裹每个用例名,比如:
    ctest -R "^SomeTest$|^SomeOtherTest$"
    
  • 常用通配场景:
    • . 匹配任意单个字符
    • * 匹配前面的字符0次或多次
    • + 匹配前面的字符1次或多次
      比如ctest -R "Test.*"会匹配所有以Test开头的测试用例,ctest -R "Test[0-9]+"会匹配Test1、Test23这类带数字后缀的用例。

小提示

  • 如果在Windows的CMD终端执行,可能需要调整引号的使用(换成双引号或者适当转义),用PowerShell或类Unix终端会更顺畅。
  • 你使用的3.7版本CTest完全支持上述ERE核心语法,你的示例命令可以直接正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 11:02:17