Python 匹配价格的正则表达式

Python 匹配价格的正则表达式,python,regex,Python,Regex,以下是正则表达式的要求: 在前面或后面可以有一个空格 在前面或后面都会有一个美元符号“$” 有时,可能会有一个字符串“dollar”,而不是美元符号 要匹配的示例: $342 $322 232$ 2323dollar 试试这个。看演示 这是一个有趣的挑战!到目前为止你试过什么?你用的是什么语言?我用的是Python。我试过:\$?(\d+)\$?。但我不能满足第三个要求:我可以用“dollar”字符串代替美元符号,是否可以用十进制数字,如123.45$?$/dollar和数字之间也可以有

以下是正则表达式的要求:

  • 在前面或后面可以有一个空格
  • 在前面或后面都会有一个美元符号“$”
  • 有时,可能会有一个字符串“dollar”,而不是美元符号
要匹配的示例:

$342
 $322
232$
2323dollar
试试这个。看演示


这是一个有趣的挑战!到目前为止你试过什么?你用的是什么语言?我用的是Python。我试过:\$?(\d+)\$?。但我不能满足第三个要求:我可以用“dollar”字符串代替美元符号,是否可以用十进制数字,如
123.45$
$
/
dollar
和数字之间也可以有空格吗?太棒了。非常感谢你。我会很快接受你的回答他的正则表达式(隐藏在评论中)可能不会,但他的规范明确指出,
之前或之后都会有一个美元符号“$”,这里有一个问题:“70美元是这个产品的成本”。正则表达式抓不到70$((我想如果他只是在寻找子字符串,我们就不再需要
\s*?
s了。@TimPietzcker你说得对。我只需要在数字和$或美元同时出现时才找到匹配项。也就是说,我不需要123。我需要123$。你能帮我吗?
(?:\$|dollar)(\d+)|(\d+)(?:\$|dollar)