如果下一行以单词开头,有人能帮我写出正则表达式来匹配数字吗?

如果下一行以单词开头,有人能帮我写出正则表达式来匹配数字吗?

在 Power Automate Desktop 中,我想要匹配2,021第三行倒数第二个单词与Demand第四行第一个单词。

输入:

Days of
Service
Electric 0156887974 02/24/23 60,170 01/24/23 58,149 1 2,021 31
Demand 0156887974 02/24/23 9.62 01/24/23 10.39 1 9.62 31
MESSAGE from KUA

我曾尝试过此示例:(?<=Days of+\r\nService+\r\nElectric ..............................................)...... 从此行的第一个字开始,但此行有多个动态值,并且这些动态值的字符也增加或减少,结果导致表达式不合格。所以现在我注意到,如果我从值“Demand”向后搜索,它不受其他动态值的影响。此值是带有逗号 (,) 的 4 位字符。

答案1

由于 Power Automate Desktop 使用 .NET 正则表达式引擎,因此您可以使用:

\d,\d{3}(?= [\d.,]+\nDemand)

解释:

  • \d,\d{3}- 数字后跟逗号和 3 位数字,如您所指定
  • (?= [\d.,]+\nDemand)- 正向预测空格后跟一些数字、点或逗号(可以使其更准确并在需要时验证数字)、换行符和Demand单词

带有进一步解释的演示

相关内容