gpt4 book ai didi

regex - 使用正则表达式提取价格

转载 作者:行者123 更新时间:2023-12-01 00:24:11 27 4
gpt4 key购买 nike

我希望从一串抓取的数据中提取价格。

我现在正在使用这个:

re.findall(r'£(?:\d+\.)?\d+.\d+', '£1.01')
['1.01']

在 99% 的情况下都可以正常工作。但是,我偶尔会看到:
re.findall(r'£(?:\d+\.)?\d+.\d+', '£1,444.01')
['1,444']

我想看 ['1444.01']理想情况下。

这是我从中提取价格的字符串示例。
'\n                £1,000.73                \n\n\n                + £1.26\nUK delivery\n\n\n'

我在帮助整理正则表达式以获得 ['1000.73', '1.26']从上面的字符串

最佳答案

您可以使用 '£(\d[\d.,]*)\b' 获取所有值然后删除所有逗号

import re
s = '\n £1,000.73 \n\n\n + £1.26\nUK delivery\n\n\n'
r = re.compile(r'£(\d[\d.,]*)\b')
print([x.replace(',', '') for x in re.findall(r, s)])
# => ['1000.73', '1.26']

Python demo
£(\d[\d.,]*)\b模式发现 £然后捕获一个数字,然后是任何 0+ 数字/ ,/ . , 尽可能多,但会回溯到单词边界所在的位置。

关于regex - 使用正则表达式提取价格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46238104/

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