regex从字符串中提取财务金额

2024-10-02 04:24:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要从一些字符串中提取和。在

我现在有这个

values = re.findall(r" \d*[.,]\d+", mystr)

我需要匹配所有的十进制值,即使有“.”或“,”来分隔欧洲和美国的千分之几。 以下是一些典型的字符串:

DERT-UID: 123456 01 DD. 2014-D C-12 BRUT: 27,50 - COMM 0,37 REF.OP.123

我要27,50和037

ALL / 1000.00/NR.00123456789/KOM. 10.00/DAT.23.123123123123 0

我要1000.00和10.00

F 1047 DU 31.12.14

我什么都不需要,但现在我的正则表达式匹配日期的“31.12”部分。在

它还应该匹配“1000.00”或“1.000,00”,我现在没有示例,但将来可能会发生(或者我的正则表达式不足以检测到它们)。在

谢谢


Tags: 字符串rerefuidallddvaluescomm
2条回答

像这样?在

print re.findall("\d+[,\.]\d+",re.sub(r"(\d+[\.,]\d+[\.,])+","",oldstr))

您可以在python中使用基于lookaround的regex:

(?<![.,\d])\d+(?:([.,])\d+(?:\1\d+)*)?(?!\1)[.,]\d+(?![,.\d])

RegEx Demo

  • (?![,.\d])断言匹配后的下一个字符不是数字或点/逗号
  • ^{前一个数字不在cd2后面

相关问题 更多 >

    热门问题