怎么了?
我试图让一些正则正等式工作,但是我面临着一些"怪异"(?)行为。
我需要一个验证以下验证的正则
- 只有数字(根本没有任何空格)
- 从10或11开始
- 必须是12个字符
工作了一段时间后,我一直坚持这样做:
^(10|11)[0-9]{10}$
它似乎是按照需要的工作,但是我不满意,因为乍一看它具有误导性。必须是12个最大字符,但它验证了最大10 "启动"字符。
任何人都有更好的解决方案或关心解释为什么会发生这种情况?
预先感谢(:
它无法按需工作。
{10}
在您的情况下完全指10位数字。
您可以使用 {0,10}
Matches between 0 and 10 times, as many times as possible, giving back as needed
至于误导部分 - 它的主观,如果数字必须以10或11开头,则必须长2位数字,并且您的允许不超过10位数字
我认为您需要的是以下内容:
^(10|11)[0-9]{0,10}$
这意味着它以10或11开头,长度可以具有2至12个字符
在这里尝试