匹配$price的正则表达式

-3 投票
2 回答
1822 浏览
提问于 2025-04-28 12:31

我需要一个正则表达式,用来匹配价格,比如:$200,$143。

具体要求是,价格前后应该有空格,比如:... $130 ...

而且在数字前面必须有一个美元符号"$"。

请帮帮我。

附言:我在用Python。

暂无标签

2 个回答

2

使用 前瞻和后顾断言

>>> import re
>>> s = 'foo $340 $350 bar'
>>> re.findall(r'(?<=\s)\$\d+(?=\s)', s)
['$340', '$350']
5

像这样:

\s\$(\d+)\s

编辑

正如Avinash Raj在他的回答中提到的,模式中包含空格会导致无法匹配价格的序列。更好的方法是他展示的使用前后查找的方式:

(?<=\s\$)(\d+)(?=\s)

这里有一个演示

撰写回答