Skip to Main Content
Cognex 支持中心
LogoLogo

深度学习过滤器语法 - 过滤器中的正则表达式

VIDI Suite 和 VisionPro 深度学习中过滤器 expressiosn 的语法组成部分包括以下内容:字面值、内置变量、运算符、函数和正则表达式。在本文中,我们将介绍筛选器中的正则表达式。

2024/11/26

详细信息

过滤器语法 - 过滤器中的正则表达式

可以将正则表达式应用于字符串数据类型的任何筛选条件变量。

您可以返回正则表达式是否匹配:/<regex>/.test(<variable>)

  • /DF\d\d\d\d/.test(sample_name)// 如果视图的样品名称与正则表达式 DF\d\d\d\d 匹配,则返回 true

您还可以使用捕获字符串并将捕获的字符串与另一个字符串进行比较:/<regex(capture)>/.extract(<variable>),该字符串返回捕获的字符串。

  • /DF(\d\d\d\d)/.extract(sample_name) = '1234'// 从正则表达式中捕获四位数字并对照 '1234' 进行测试

注意 :

  • 上述示例使用视图级变量 sample_name,该变量评估为字符串。如果您尝试使用字符串数据类型的轴变量,则这些变量的计算结果可能是字符串向量,因为在单个视图中可能有轴变量的多个实例。在这种情况下,必须在轴筛选条件中应用正则表达式,如下所示:

    match【/FH\d\d\d\d/.test(feature_string)】// 对于此表达式,regex 应用于每个匹配项的 feature_string。如果任何匹配项的 feature_string 与正则表达式匹配,则将包括视图

    以下是无效的正则表达式筛选条件表达式的示例:

    /FH\d\d\d\d/.test (match/feature_string)// 如果视图包含与正则表达式匹配的 feature_string 匹配项,则表达式应返回 true。但是,这是无效的,因为每个视图可能有多个匹配项。

  • 不能在正则表达式中使用 sets 变量。

写入筛选器表达式

筛选条件表达式可以包括视图级筛选条件,其中的变量引用整个视图。

  • 文件名 ~ 'REJECT'// 返回文件名包含 'REJECT' 的视图。
  • count(feature) > 3// 返回具有三个以上功能的视图。

筛选条件表达式还可以包括轴筛选条件,用于对每个视图的单个标记或标签进行计算。

  • 特征 【评分 > 0.5 】// 返回评分大于 0.5 的特征视图。

可以将视图级筛选条件和轴级筛选条件组合起来。

  • 文件名 ~ “REJECT”和特征 【评分 > 0.5 】// 返回文件名包含“REJECT”且特征评分大于 0.5 的视图。

可以将多个轴的筛选条件组合使用。

  • 特征 【评分 > 0.5 】 和匹配 【评分 > 0.5 】// 返回评分大于 0.5 的特征和评分大于 0.5 的匹配视图。

可以为一个轴指定多个筛选条件。

  • 特征【评分 > 0.5 和匹配的 】// 返回评分大于 0.5 的特征的视图,该特征在匹配的模型中。

Loading component...

相关资源