0 或正数的正则表达式

本文关键字:正则表达式 | 更新日期: 2023-09-27 17:57:06

我需要一个正则表达式来检查字符串的值是'0',还是长度等于1到10的正数(也是第一个数字不能为零的地方)。

我卡住了,我可以得到 0,但我无法得到正数。

这是我所拥有的:

(^([0])$)|(^([1-9][0-9]{0-9})$)

这个注册 exp 看起来有点疯狂,我一直在尝试很多不同的东西,变得越来越疯狂。

0 或正数的正则表达式

对于一系列可能性,请使用逗号,而不是连字符。

(^([0])$)|(^([1-9][0-9]{0,9})$)

但是,您的正则表达式可以缩短为:

^(0|[1-9][0-9]{0,9})$

提供更快的非正则表达式方法:

static void Main(string[] args
{
     string str = "12";
     long test;
     if(str.Length <= 10 
         && long.TryParse(str, out test)
         && test >= 0)
     {
        //valid   
     }
}