我需要一个正则表达式,用来匹配价格,比如:$200,$143。
具体要求是,价格前后应该有空格,比如:... $130 ...
而且在数字前面必须有一个美元符号"$"。
请帮帮我。
附言:我在用Python。
使用 前瞻和后顾断言。
>>> import re >>> s = 'foo $340 $350 bar' >>> re.findall(r'(?<=\s)\$\d+(?=\s)', s) ['$340', '$350']
像这样:
\s\$(\d+)\s
编辑:
正如Avinash Raj在他的回答中提到的,模式中包含空格会导致无法匹配价格的序列。更好的方法是他展示的使用前后查找的方式:
(?<=\s\$)(\d+)(?=\s)
这里有一个演示。