Java 转义管道的正则表达式

Java regex to escape pipe

我正在尝试使用 java 正则表达式组从银行短信中解析帐号和余额。我能够成功解析帐户号但无法获得余额,因为它总是获得空值可能是由于 pipe

我要解析的短信是:

Balances for Ac XXXXXXXX0000 on 16/12/2020 11:37:14 AM ISTTotal Avbl. Bal: INR|980310.28Avbl. Bal: INR 980310.28Linked FD bal: INR|0.0

我使用的正则表达式是:

Balances for Ac (?groupname.+?) on 16/12/2020 11:37:14 AM ISTTotal Avbl. Bal: INR|980310.28Avbl. Bal: INR (?groupname[0-9.]+)Linked FD bal: INR|0.0

非常感谢任何帮助!

  1. 像您可能已经尝试过使用反斜杠一样转义管道 \|
  2. 你的问题是接下来会发生什么。它只会匹配 0.0.
  3. 的数量

试试这个:

INR (?<groupname>[0-9.]+)Linked FD bal: INR\|(?<amount>[0-9.]+)