求一正则表达式,判断一个字符串为正整数

时间:2023-01-07 08:25:24
求一正则表达式,判断一个字符串为正整数,如果是1,2,3,4,5..返回真,如果是0,-1,1.5,1.00001..返回假

4 个解决方案

#1


效率不要太低,最好不要用到循环

#2


string teststr="12345"
string regexStr=@"[1-9]+[0-9]*";

public bool RegexCompled()
{
   Regex x;
   Match m;
   x=new Regex(regexStr,RegexOptions.IgnoreCase|RegexOptions.Compiled);
   m=x.Match(teststr);
   if(m.Success)
   {
      if(System.Convert.ToString(m.Groups[0]).CompareTo(teststr)==0)
         return true;
      else
         return false;
   }
}



//C#.NET FANS 驿站 QQ高级群:4724162 

#3


楼上的正则,下面的字符串通不过:
+2
02
+02
等。。
string regexStr=@"[1-9]+[0-9]*";
可把这个改成:
string regexStr=@"(\+)?0*[1-9]+[0-9]*";

#4


是不是只要判断没有负号,不是零,没有小数点就可以了呀

#1


效率不要太低,最好不要用到循环

#2


string teststr="12345"
string regexStr=@"[1-9]+[0-9]*";

public bool RegexCompled()
{
   Regex x;
   Match m;
   x=new Regex(regexStr,RegexOptions.IgnoreCase|RegexOptions.Compiled);
   m=x.Match(teststr);
   if(m.Success)
   {
      if(System.Convert.ToString(m.Groups[0]).CompareTo(teststr)==0)
         return true;
      else
         return false;
   }
}



//C#.NET FANS 驿站 QQ高级群:4724162 

#3


楼上的正则,下面的字符串通不过:
+2
02
+02
等。。
string regexStr=@"[1-9]+[0-9]*";
可把这个改成:
string regexStr=@"(\+)?0*[1-9]+[0-9]*";

#4


是不是只要判断没有负号,不是零,没有小数点就可以了呀