我有一个句子,如下所示,我需要用逗号提取美元金额才能填入字典。我尝试过几个选项,但不能成功。请指导。
For par\n
$3,500 single /$7,000 group
For nonpar\n
$7,000 single /$14,000 group
预期输出为:
"rates":{
"single" : "$3,500 (par) / $7,000 (nonpar)",
"group" : "$7,000 (par) / $14,000 (nonpar)"
}
\ n这是一个新行 数量可能在每3个值之后有小数点和逗号,如下所示。
我能够单独为金额编写正则表达式,但没有找到正确的方法将其扩展到我的要求。
re.search(r'^\$\d{1,3}(,\d{3})*(\.\d+)?$','$1,212,500.23')
EDIT1: 继续前进一步:
re.findall(r'\$\d{1,3}(?:\,\d{3})*(?:\.\d{2})?', str)
EDIT2:
re.findall(r'\For par\W*(\$\d{1,3}(?:\,\d{3})*(?:\.\d{2})?\W*single)\s*\W*(\$\d{1,3}(?:\,\d{3})*(?:\.\d{2})?\W*group)', str)
请帮我改进一下并使其更通用。
由于