我需要一个模式的帮助来匹配零填充整数,它不是全零。它可以有0到n个前导零。到目前为止,我有:
^[0-9]{0,}[1-9]{1}$"
但由于最后的零,这不会得到像000860
这样的东西。我觉得这应该很简单,但我无法得到它。任何帮助将不胜感激。
编辑:有些人问过这是哪种引擎/语言。我认为正则表达式是标准化的,所以它并不重要。但它是.NET。
答案 0 :(得分:5)
为什么不使用它:
^0*[1-9][0-9]*$
? 顺便说一下,你错过了指定正在使用的正则表达式引擎。但上述模式几乎适用于任何正则表达式引擎。
答案 1 :(得分:4)
试试以下正则表达式:
^0*[1-9][0-9]*$
答案 2 :(得分:3)
这个正则表达式怎么样?
^0*[1-9]\d*$
答案 3 :(得分:1)
你想赶上860吗?
"000860".match(/^0*([1-9][0-9]*)$/)[1]
答案 4 :(得分:0)
这是我的看法:
0+[1-9]+[0-9]{0,}
它捕获至少一个零(在?
之后追加0
而不是+
,如果它可能没有前导零,则至少有一个非零数字任意数量的零和其他数字。
如果你想捕获没有零的数字:
0+([1-9]+[0-9]{0,})
只是将部分放在捕获组中的前导零之后。
成功解析所有这些:
000860
000860123
000800
000810
0008