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

如何用单个正则在Blue Prism中匹配指定数字序列与Invoice

正则表达式适配Blue Prism:同时匹配指定数字序列与单词“Invoice”

需求背景

  • 原有正则:(?<Nr>3\d{6})(?=[\s a-zA-Z\r\n]|$),用于在文本中匹配以“3”开头、后接6位数字的序列,适配Blue Prism工具,匹配时返回True,不匹配返回False
  • 修改要求:仅当文本同时存在上述数字序列和独立单词“Invoice”时返回True,且必须使用单个正则表达式(Blue Prism不支持多正则组合)

可行性与实现方案

完全可行,利用.NET正则的**正向预查(Lookahead Assertions)**特性即可实现,Blue Prism基于.NET正则引擎,支持该语法。

最终正则表达式

^(?=.*\bInvoice\b)(?=.*(?<Nr>3\d{6})(?=[\s a-zA-Z\r\n]|$)).*$

规则解释

  • ^ 和 $:锚定整个文本的开头与结尾,确保对全文本进行检查
  • (?=.*\bInvoice\b):正向预查,断言文本中存在独立的单词“Invoice”(\b为单词边界,避免匹配“Invoiced”这类包含该词的衍生词)
  • (?=.*(?<Nr>3\d{6})(?=[\s a-zA-Z\r\n]|$)):复用原有正则的匹配逻辑,通过正向预查断言文本中存在符合要求的数字序列,同时保留原捕获组Nr
  • .*:匹配文本全部内容,保证正则能成功匹配整个文本(预查仅做存在性断言,需实际匹配内容触发返回True)

示例验证

给定的示例文本中同时包含“Invoice”单词和“3222222”(符合以“3”开头+6位数字的规则),使用该正则会返回True。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 21:17:31