【发布时间】:2016-04-23 02:08:05
【问题描述】:
所以我正在尝试使用以下正则表达式来匹配有效价格的模式
^\$[1-9]\d{0,2}(?:\,\d{3})?(?:\.\d{2})?
(源自关于 SO 的另一个问题)
匹配的约束条件:
$1.00 <= price <= $999,999.99- 不需要小数位(
$1和$1.00一样有效) - 小数点后一位数无效(
$1.1、$2.9等) - 小数点后 3 位以上无效(
$1.111、$2.999等)
上述模式可以处理前两个约束,但不能处理其他约束。问题是在 (3) 或 (4) 的情况下,小数点之前的价格部分是匹配的。
例如:
$100,000.4 matches to $100,000
$200,000.444 matches to $200,000.44
我该如何修改它,以便在 (3) 或 (4) 的情况下整个字符串不匹配?
【问题讨论】:
标签: python regex string validation