用于捕获货币兑换的正则表达式

2024-06-09 05:14:49 发布

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

我正在编写一个Python正则表达式,从一些聊天消息中提取货币汇率。这些消息有几种不同的格式,例如:

“。。。加元/美元0.xxx……(加元兑美元)

“。。。加元0.xxx美元……(加元兑美元)

“。。。1.xxx欧元……(欧元兑美元)

货币可以是美元、欧元、加拿大元、瑞士元、新加坡元等

我试着用这个模式:

r"(.*)\s+(USD|CAD|EUR|CHY|JPY)/?(USD|CAD|EUR|CHY|JPY)?\s+([0-9.]+)\s+(.*)"

但我总是买第二种货币(如美元只买美元)。你知道吗

有人能告诉我应该用什么样的图案吗?你知道吗


Tags: 消息格式货币模式eurxxxusd图案
1条回答
网友
1楼 · 发布于 2024-06-09 05:14:49

尝试使用下面的表达式,首先删除不需要的内容,然后用\w+替换结尾处的\s+

>>> re.findall(r"(SD|CAD|EUR|CHY|JPY).*(USD|CAD|EUR|CHY|JPY)\s+\d+.\w+", s)
[('CAD', 'USD')]
>>> 

相关问题 更多 >