需要正则表达式来匹配不能全为零的可变长度数字串

Not*_*all 9 regex validation pcre lookahead negative-lookahead

我需要验证表单上的输入.我期望输入是1到19位数之间的数字.输入也可以以零开头.但是,我想验证它们并非都是零.我有一个正则表达式,将确保输入是数字和1到19之间的数字.

^\d[1,19]$
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何包含一个检查,即整个字符串不是全零.我试过这个

^(![0]{1,19})(\d[1,19])$
Run Code Online (Sandbox Code Playgroud)

但它在0000000000000000001上失败,因为它允许可变数量的零.

如何检查整个字符串是不是零?

谢谢.

我试图在ASP.NET RegularExpressionValidator中这样做,所以我希望有一个表达式.我有其他选择,所以如果不能做到这一点我就不会运气.

cha*_*aos 18

^(?!0+$)\d{1,19}$