大家好,我想编写一个正则表达式来检查一个值是否只有数字但 0 不在第一位。例如值 10 是正确的,但值 01 是错误的。
到目前为止我有这个mystr.matches("[123456789]+")
试试这个:
mystr.matches("^[1-9]\\d*$")
我认为应该做的工作:"([1-9]+[0-9]*)"
干杯!
建议的解决方案:
mystr.matches("[1-9]\\d*")
解释:
[1-9]
首先检查第一个数字是否在 1 到 9 之间。\\d*
查找任何数字(从 0 到 9)。这里的所有答案都将验证像 1, 2, 3, ..., 10, 11, ... 这样的数字,但如果您还想包括 simple 0
but not 00
,01
等等,您可以使用
mystr.matches("0|[1-9][0-9]*")
你也可以使用这个正则表达式
^(?!0)\d+$