data =“一般费用$ 34.45,其他费用$ 4.7。
r = re.compile(r'$(\d[\d.,]*)\b')
possible_prices = [x.replace(',', '') for x in re.findall(r, v)]
预期结果:possible prices = ['34.45', '4.7']
收到的结果:[]
如何仅提取价格值?为什么我的正则表达式不起作用?它适用于欧元。
答案 0 :(得分:0)
$表示正则表达式中字符串的结尾(带有可选的换行符)。 \ $表示文字$字符。
r = re.compile(r'\$(\d[\d.,]*)\b')
possible_prices = [x.replace(',', '') for x in re.findall(r, v)]
答案 1 :(得分:-1)
这有效:
>>> re.findall( r'\$([0-9]+\.?[0-9]+)', v)
['34.45', '4.7']