正则表达式只匹配美元符号,金钱,小数

Lea*_*ava 5 python regex python-2.7

正则表达式

y = [X: $1.19] [Y: $5.29] [Z 999/1000]
x = re.findall(r"\$[^ ]+", y)
Run Code Online (Sandbox Code Playgroud)

火柴

$1.19] 
$5.29]
Run Code Online (Sandbox Code Playgroud)

预期比赛

$1.19
$5.29
Run Code Online (Sandbox Code Playgroud)

如何调整我的正则表达式以匹配可能包含小数的金额,并且必须包含美元符号? - 这些值可以改变.例如:

$x.xx # 'x' representing a number
Run Code Online (Sandbox Code Playgroud)

Rah*_*hul 8

您可以使用以下正则表达式进行搜索.

正则表达式: \$\d+(?:\.\d+)?

说明:

\$:确保后跟美元符号

\d+:更多或一位数

(?:\.\d+)?:小数部分是可选的

Regex101演示


Kas*_*mvd 4

只需用闭括号替换否定字符类中的空格即可:

In [37]: x = re.findall(r"\$[^\]]+", y)

In [38]: x
Out[38]: ['$1.19', '$5.29'] 
Run Code Online (Sandbox Code Playgroud)