嗨我需要一个正则表达式,它应该只接受9个字符,只接受0-9中的数字,但不应包含所有零,不应包含特殊字符,可以从0开始,前导零必须最多2个。 正则表达式应该接受以下模式
123456789
012345678
001234567
现在我有^[1-9][0-9]{8}$
这个正则表达式接受9位数字,没有特殊字符,不应该从零开始。
答案 0 :(得分:3)
您可以使用前瞻来检查前导零必须最多2个(并且不应该在同一步骤中包含所有零),例如
^(?!0{3})[0-9]{9}$
(?!0{3})
弃掉以3个零开头的任何数字[0-9]{9}
匹配任何其他9位数字答案 1 :(得分:0)
如果RE没有预见,那么只需使用您的所有条件从头开始构建表达式:
^(0[1-9]{8}|00[1-9]{7}|[1-9][0-9]{8})$
同样,根据您的引擎,您可能需要转移管道和一些括号:)