Python 要匹配$price的正则表达式

Python 要匹配$price的正则表达式,python,regex,Python,Regex,我需要一个与价格匹配的正则表达式,如: 200美元,143美元 所以要求是,价格前后应该有空间,比如:$130 数字前应该有一个美元符号$ 请帮忙 另外,我使用的Python类似于: \s\$(\d+)\s 编辑: 正如阿维纳什·拉吉(Avinash Raj)在回答中指出的那样,包括模式中的空间将阻止价格序列的匹配。一个更好的方法是他展示的环顾四周的方法: (?<=\s\$)(\d+)(?=\s) 这里有一个。用法 谢谢你的回答。还有一个问题:美元符号可以出现在数字符号之前或之后,比如

我需要一个与价格匹配的正则表达式,如: 200美元,143美元

所以要求是,价格前后应该有空间,比如:$130

数字前应该有一个美元符号$

请帮忙

另外,我使用的Python类似于:

\s\$(\d+)\s
编辑:

正如阿维纳什·拉吉(Avinash Raj)在回答中指出的那样,包括模式中的空间将阻止价格序列的匹配。一个更好的方法是他展示的环顾四周的方法:

(?<=\s\$)(\d+)(?=\s)
这里有一个。

用法


谢谢你的回答。还有一个问题:美元符号可以出现在数字符号之前或之后,比如:$343或343$。怎么允许这个?你可以用?哥们,对不起,但我有更多的问题:我需要空格作为可选的,有时我可能有一个字符串美元而不是美元符号。请帮助您自己学习正则表达式:?:美元[s]?\$\s*\d+\d+\s*?:美元[s]|\$
>>> import re
>>> s = 'foo $340 $350 bar'
>>> re.findall(r'(?<=\s)\$\d+(?=\s)', s)
['$340', '$350']