gpt4 book ai didi

javascript - 欧洲价格的正则表达式

转载 作者:搜寻专家 更新时间:2023-11-01 05:25:28 25 4
gpt4 key购买 nike

我针对美国价格测试了以下正则表达式(分隔符逗号、分隔符点),它运行良好:

 ^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(\.[0-9]{2})?$

有效,拒绝 30,000.000 这样的价格。只接受 2 位小数。

我试图用它们来处理欧洲价格:

^[1-9][0-9]{0,2}(?:.?[0-9]{3}){0,3}(\,[0-9]{2})?$

但这行不通,接受 30.000,000 这样的价格,这是错误的。只应接受 2 位小数。

这两个正则表达式有什么问题?

最佳答案

在正则表达式中,. 是一个特殊字符,因此当您想要匹配文字点时,您需要使用反斜杠 (\.) 将其转义。逗号不是这种情况,因此您可以保留它们不变。

在您的尝试中,您切换了 ,.,这给您留下了未转义的 .\, 最后,当你真的想像这样切换 \. 时:

^[1-9][0-9]{0,2}(?:\.?[0-9]{3}){0,3}(,[0-9]{2})?$

关于javascript - 欧洲价格的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9403353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com