用于提取价格信息的 Java Regex

seb*_*cha 2 java regex

我需要 java 正则表达式方面的一些帮助。我有一种下面的字符串,我需要从中提取信息

\n\n
\xe2\x80\x9csome information text followed by some price detail like below\n\nAmount: $45.75\nTax: $3.25\nDiscount: -$5.00\nTotal : *$49.00*\n\nfollowed by some other information text\xe2\x80\x9d\n
Run Code Online (Sandbox Code Playgroud)\n\n

我需要正则表达式来提取所有价格(键,值)对,例如 ( Amount, $45.75), ( Tax, $3.25)

\n\n

或者也许使用正则表达式来提取所提供密钥的价格。即String amountregex = \xe2\x80\x9cregexstring\xe2\x80\x9d应该给$45.75

\n\n

有人可以帮忙吗?

\n

das*_*ght 5

您应该能够通过重复搜索此表达式来提取您要查找的数据:

(Amount|Tax):\s+[$](\d+[.]\d\d)
Run Code Online (Sandbox Code Playgroud)

您需要正确转义该表达式才能用作 Java 文本。

该表达式在匹配时会产生两个捕获组:

  • 第 1 组可以是"Amount"或者"Tax"
  • 第 2 组是表示相应值的字符串。

演示。