我需要帮助,匹配一个有前导零且不全是零的整数。它可以有零到 n 个前导零。目前我有:
^[0-9]{0,}[1-9]{1}$"
但是,由于最后一位是零,这种方法无法匹配类似
000860
的内容。我感觉这应该很简单,但我不会。非常感谢您的任何帮助。编辑:有几个人问这是哪个引擎/语言。我认为正则表达式是标准化的,所以应该没关系。但它是.NET。
我需要帮助,匹配一个有前导零且不全是零的整数。它可以有零到 n 个前导零。目前我有:
^[0-9]{0,}[1-9]{1}$"
000860
的内容。我感觉这应该很简单,但我不会。非常感谢您的任何帮助。^0*[1-9][0-9]*$
00100
或者001000
不是有效的吗?顺便问一下,和你的答案有什么区别? - hek2mgl00100
和001000
都是有效的。 - rory.ap只需尝试以下正则表达式:
^0*[1-9][0-9]*$
"000860".match(/^0*([1-9][0-9]*)$/)[1]
new Regex("/^0*[1-9][0-9]*$/").Matches("000860");
因此是正确的。顺便说一句,这会返回一个类型为“Match”的结果。我的观点仍然成立,你的答案应该被踩。 - Vogel612这是我的看法:
0+[1-9]+[0-9]{0,}
它至少捕获一个零(如果可能没有前导零,则在第一个0
后附加?
而不是+
),至少一个非零数字,然后任意数量的零和其他数字。
如果您想捕获没有零的数字:
0+([1-9]+[0-9]{0,})
这只是将前导零后面的部分放在一个捕获组中。
成功解析所有这些:
000860
000860123
000800
000810
0008
$
前面加上[0-9]{0,}
(或[0-9]*
)呢?(顺便说一句:你也可以省略{1}
,因为它是隐含的)。 - Wrikken000000
就能工作了。 - rory.ap[1-9]
这个必需项。所以,非零是必要的。 - Wrikken