extension PriceValidator on String {
bool isValidPrice () {
return RegExp(r'^(\d{1,3}(\.\d{3})*|(\d+))*(\.\d{3})$').hasMatch(this);
}
}
我在发布产品时使用此正则表达式来获取此数据:
5,000
10,000
245,000
1,000,000
25,000,000
240,000,000
它给了我这些数据:
5, 10, 245, 1,25,240,
您的正则表达式正在查找以句点作为千位分隔符的数字,但您的数据使用逗号作为千位分隔符。您需要将
\.
替换为 ,
:
^(\d{1,3}(,\d{3})*|(\d+))*(,\d{3})$