如何解决正则表达式应匹配0-999、0.0-999.9以及0,0-999,9
我再次在正则表达式上苦苦挣扎。我需要一个仅与0-999或0-999的数字匹配一个小数的正则表达式,例如。 0.0-999.9。
我制作的/^([1-9][0-9]{0,2})|([1-9][0-9]{0,2})[,.][0-9]$/
正则表达式有一个错误,它也匹配1.,而不是1.5。
更多示例:
1 -> Match (in range 0-999)
1. -> No Match (no decimal)
1,-> Again no Match (no decimal)
1,5 -> Matches (in range 0,0-999,9)
1324 -> doesn't Match (over 999,9)
15.5 -> Matches (in range 0.0-999.9)
999,9 -> Matches (max. reached)
提前感谢您的帮助。
解决方法
^(?:[1-9]\d{1,2}|\d)(?:[.,]\d)?$
应该可以工作。
演示:https://regex101.com/r/vsL89V/3
,要在0-999之间匹配一个可选部分以匹配.
或,
,可以使用
^\d{1,3}(?:[.,]\d)?$
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。