You need to enable JavaScript to run this app. UiPath中正则表达式匹配换行失效,无法提取发票公司名称如何解决?
优惠活动
大模型
产品
解决方案
定价
更多

UiPath中正则表达式匹配换行失效,无法提取发票公司名称如何解决?

原因分析
  • 换行符适配问题:Windows系统默认换行符为\r\n(两个连续字符),你原来写的正则(?<=To:[\n\r]).+的后视断言仅匹配单个\r或\n,剩下的一个换行符会被后续的.+匹配为空内容,无法命中下一行的公司名称。
  • 正则引擎差异:你之前测试用的是JS正则引擎,UiPath底层用.NET正则引擎,二者对换行符、元字符的匹配规则存在细微差异。
  • 额外格式干扰:你提供的原文本带有<b>HTML标签,原有正则如果直接匹配会连带标签一起返回,也不符合你提取纯公司名的需求。
解决方法

1. 替换适配的正则表达式

根据你是否提前过滤HTML标签,二选一即可:

  • 带HTML标签的原文本直接提取:(?<=To:[\s\S]*?<b>)[^<]+
    该表达式会自动跳过To:后的所有换行、空白字符,定位到<b>标签后提取直到下一个<前的内容,正好命中SOME ANALYTICS
  • 已清除HTML标签的纯文本提取:(?<=To:\s*\r?\n\s*).+
    该表达式适配\n和\r\n两种换行格式,自动忽略To:和换行前后的多余空白。

2. UiPath调用配置

如果你用Matches活动,不需要额外开启特殊配置,直接将上述正则填入Pattern字段即可;如果直接在Assign活动中调用,写法参考:

System.Text.RegularExpressions.Regex.Match(yourTextVar, "(?<=To:[\s\S]*?<b>)[^<]+").Value.Trim()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 18:12:00