我想在python中使用正则表达式来匹配美元金额



我对python和正则表达式很陌生,所以如果这是初级的,请原谅我。我试图匹配一个模式,允许无限的数字在小数点左边和两个在右边。这就是我正在处理的模式。

$44.01Bobby N. ...1111

也可以是。

$4354.01Bobby N. ...1241

我能够匹配44.01,只需输入这个,这就是我想要的。

d*.dd

然而,我最终也匹配了.11,这是我不想要的。

问题是您使用的d*匹配:没有数字1位或多于1位,因此.11是有效匹配。为了确保在.之前至少匹配一个数字,请尝试使用d+.ddd+匹配一个或多个数字。

你也可以使用花括号右边的数字来表示你想要2个d的实例,但是,当然,如果你想保存一个击键并且可读性不是问题,使用dd也可以:

d+.d{2}

最新更新