我尝试(^[0]?)\.*(?=.*[1-9])\d{1,3}?$
表达式来匹配输入值,它只能接受0. [001到999],现在的问题是:
它也匹配012或090等号码。
我希望表达式完全匹配0. [001 - 999]
感谢任何帮助。
谢谢, 斯
答案 0 :(得分:3)
你有\.*
匹配0或更多。它匹配0,因此你可以匹配像012这样的东西。
^0\.[0-9]{2}[1-9]$
匹配0
,然后匹配.
,然后匹配[0-9]
两次,然后[1-9]
编辑:Jonathan是对的,这与0.010
之类的内容不匹配。
^0\.[0-9]{3}$
然后确保它不会起作用。
或者尝试这个丑陋的:^0\.(?:[0-9]{2}[1-9]|[0-9][1-9][0-9]|[1-9][0-9]{2})$
答案 1 :(得分:0)
我接受@Crazysheep的回答。因为*引起了这个问题。
(^[0]?)\.(?=.*[1-9])\d{1,3}?$ seems to be working.
进行测试
谢谢大家的快速回复。