我正在努力获得正常表达,但我无法弄明白。我正在搜索一个表达式,以便填写表单的用户不能输入0矿石1.所以它必须至少从2开始。它的表达式是什么?
非常感谢。
感谢。但这不是100%防水。作为用户,您无法填写0或1,但您也无法填写10或11或101。所以在开始时一切都是0或1。有解决方案吗?
再次感谢。
答案 0 :(得分:1)
这里,这应该接受以2或更多开头的任何数字:
[2-9][0-9]*
或
^[2-9][0-9]*$
如果你匹配整行。
答案 1 :(得分:0)
我理解你的意思是它以2到9的数字开头,但你应该告诉它以后是否可以包含其他数字。
纯数字:
[2-9][0-9]*
这会强制内容为数字,并以数字>开头; 1。 使用:
[2-9][0-9]+
如果必须有多个号码,
如果您使用锚定进行非完全匹配,则此操作完全匹配:
^[2-9][0-9]*$
如果在初始数字之后出现不同的字符,请使用适当的模式,例如:
[2-9].*
匹配第一个数字后面的任何内容:
[2-9] [0-9A-ZA-Z] *
匹配alfanumeric模式等...
答案 2 :(得分:0)
如果您要接受任何大于1的整数的字符串:
([1][0-9]+|[2-9][0-9]*)
前半部分([1] [0-9] +)将匹配一个以1开头的数字,然后是至少另一个数字,第二个将匹配数字2-9或以数字2-9开头的数字更多数字([2-9] [0-9] *)。
请注意,这不接受使用前导0编写的可能良好的整数,如0123.如果您想要包括它,请使用:
(0*[1][0-9]+|0*[2-9][0-9]*)
还要注意像:
这样的模式(matcher1|matcher2)
所有RE引擎都不支持。
答案 3 :(得分:-2)
我认为这样的事情会对你有用:
<强>(2 +)(。)* 强>
这意味着只有以“2”开头的单词才能表达。 如果你想轻松地尝试正常表达,我喜欢网络http://rubular.com/ 它有一个很好的界面来直接在网络上测试表达式。
问候