Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有关金额的Regexp帮助_Python_Regex - Fatal编程技术网

Python 有关金额的Regexp帮助

Python 有关金额的Regexp帮助,python,regex,Python,Regex,我一直在努力使用Python中的regexp表达式,但无法使用它。我将非常感谢你的帮助。问题是我需要对数量进行分类,这些数量可以有千位分隔符。一个简短的例子是(文本中有更多的字母和单词)- SE5563992705,4825,00676,370,15382,00 在哪里 2705,45 25,00 676,37 0,15 3382,00 是多少 解决方案的一个示例(不起作用的是)- 更复杂的文本- pullman s13 1 125,94190828pågår19091537,0j94,00

我一直在努力使用Python中的regexp表达式,但无法使用它。我将非常感谢你的帮助。问题是我需要对数量进行分类,这些数量可以有千位分隔符。一个简短的例子是(文本中有更多的字母和单词)-

SE5563992705,4825,00676,370,15382,00

在哪里

2705,45
25,00
676,37
0,15
3382,00 
是多少

解决方案的一个示例(不起作用的是)-

更复杂的文本-

pullman s13 1 125,94190828pågår19091537,0j94,00 126,00 1,00bdagpu100 160,00 16,00 10,00dammsugarpåse pullman s13pu101 350,00 350,00 1,00stoftavskiljare filter s13 13,09544000slang 4-5m dammsug 38mm 10,01190828pågår19091537,0j1,00 1,10 1,00bdag 13,09544001munstycke dammsug 38mm 10,01190828pågår19091537,0j1,00 1,10 1,00bdag900 200,00 200,00 1,00transport56 0,01 0,01 1,00kört av curtonr 247608 objekt 191049 anm tel 070-309 47 87 erref johan karlsson vårref fredrik b depå nacka 5,08814strålkastare 72+108w lågenergi 150,25190909pågår19091537,0j40,00 35,00 1,00bdag 5,08658strålkastare 72+108w lågenergi 150,25190909pågår19091537,0j40,00 35,00 1,00bdag 5,08652strålkastare 72+108w lågenergi 150,25190909pågår19091537,0j40,00 35,00 1,00bdag 5,05260882strålkastare stativ 1-2m 41,67190909pågår19091537,0j0,00 4,41 3,00bdag900 100,00 100,00 1,00transport06 0,01 0,01 1,00kört av håkanförsäkring 5% dag 90,26nyhet hyr online. där kan du som kund se pågående ordrar, söka skriva ut. godkänd för f-skatt momsvat nr se559999 2 705,48 2 705,48 25,00 676,37 0,15 3 382,00

我相信你在寻找这个:

\d{1,3}(?:\s\d{3})*,\d{2}
此正则表达式解析数字,其中数字由3分组,分组之间用空格分隔,逗号作为浮点分隔符,始终为两个十进制数字

你可以


这是你的榜样。试穿一下

这很难解析和理解。如果空格是千位分隔符,那么数字“48 25”是多少?请改进您的问题标题,以便它描述问题。太好了。这是我见过的解决方案的秘密。如果我找不到解决办法,我会努力的。这篇课文太复杂了,所以我想我不会找到一个完美的解决办法。我已经用一个更复杂的文本更新了这个问题。这个问题现在应该是不变的updated@user2856066这就是你要找的吗?如果没有,请告诉我你对我的解决方案有什么问题,这并不明显,因为它几乎是完美的。一些小事。它不匹配90,26,第一个匹配也包括00,而应该属于94,00。
\d{1,3}(?:\s\d{3})*,\d{2}
(\d\s)?\d+,\d\d