gpt4 book ai didi

python - 正则表达式 : Read number and character from end until space is encountered

转载 作者:行者123 更新时间:2023-12-05 02:30:35 24 4
gpt4 key购买 nike

我想将行分为日期、描述和金额。最后一位数字是可以包含 Cr 的量。我有如下一行:

Date       Description    Amount
13/03/2021 XYZ ABC 428.00 31,408.37 Cr
17/03/2021 ZOOM.US 111-222-333 WWW.ZOOM.U USD 5.29 841.18

我使用的正则表达式是:

regex_filter = re.compile(r'(\d{2}/\d{2}/\d{4}) (.*?) ([\d,]+\.\d{2}) ')**

我得到的是:

Date - 13/03/2021
Description - XYZ ABC
Amount - 428.00

我希望金额为 31,408.37 Cr,第二个金额应为 841.18。所以我想要数字和字符从末尾开始读到一个空格。

我怎样才能得到这个?

最佳答案

您可以将此正则表达式与 anchor 和可选组一起使用:

^(\d{2}/\d{2}/\d{4})\s+(.*?)\s+((?:\d+(?:,\d+)*\.\d{2})(?: Cr)?)$

RegEx Demo

正则表达式详细信息:

  • ^:开始
  • (\d{2}/\d{2}/\d{4}):匹配日期的第一个捕获组
  • \s+:1+ 个空格
  • (.*?):第二个捕获组,用于延迟匹配任何描述
  • \s+:1+ 个空格
  • ((?:\d+(?:,\d+)*\.\d{2})(?: Cr)?):第 3 个捕获组匹配数量。在内部,我们在可选的非捕获组中匹配结尾 Cr
  • $:结束

关于python - 正则表达式 : Read number and character from end until space is encountered,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71813903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com