正则表达式在匹配一个字符串或另一个字符串时返回数值

问题描述 投票:0回答:1

我有一根绳子,可以有两种不同的方式。请参阅下面的示例:

# Option 1
Court Case Fee $214.00

# Option 2
Court Filing Fee: Contract $198.00

我想构建一个正则表达式,它将返回不带美元符号的第一个金额。例如:

  • 如果字符串是选项 1:214.00
  • 如果字符串是选项 2:198.00

我已经构建了这个正则表达式:

/Court Case Fee|Court Filing Fee: Contract \$(?<court_case_fee>\d+\.\d+)/mi

但是不起作用,因为它只返回选项 2 的值。我在这里缺少什么?

这是 Regex101,您可以使用它:https://regex101.com/r/Od3r6y/1

regex pcre
1个回答
0
投票

您可以对这两种替代方案使用非捕获组,并且可以选择匹配 Contract

(?:Court Case Fee|Court Filing Fee:) (?:Contract )?\$(?<court_case_fee>\d+\.\d+)

正则表达式演示

© www.soinside.com 2019 - 2024. All rights reserved.