正则表达式,0或者正整数。

linuxjava01 2011-03-23 09:40:31
正则表达式,0或者正整数。
比如0可以通过,01或者012不可以通过。
第一个写对的分都给他。
...全文
1323 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hwtersha 2011-03-23
  • 打赏
  • 举报
回复
((^(?!0)\d+)|(^(?=0)\d$))

额,结贴太快了吧
看看我这个没那么复杂
linuxjava01 2011-03-23
  • 打赏
  • 举报
回复
结贴了,答对的统统有分。
q107770540 2011-03-23
  • 打赏
  • 举报
回复

void Main()
{
var list=new List<string>{"0","01","012","12","120"};
Regex reg=new Regex("^([1-9]\\d*|0)$");
foreach(var str in list)
{
Console.WriteLine(string.Format("{0}\t验证结果:{1}",str,reg.IsMatch(str)));
}
/*
0 验证结果:True
01 验证结果:False
012 验证结果:False
12 验证结果:True
120 验证结果:True

*/
}
linuxjava01 2011-03-23
  • 打赏
  • 举报
回复
^[1-9]\d*|0$
价格括号可以前后都匹配。
^([1-9]\d*|0)$
porschev 2011-03-23
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 huangwenquan123 的回复:]

C# code

//悲剧了,最后改
string str = "01";
string str1 = "10";
string str2 = "11";
Regex reg = new Regex(@"^(0|[1-9]\d*)$");
Response.Write(reg……
[/Quote]
这个是对的。。。来迟了。。又让人抢了先机。。。
huangwenquan123 2011-03-23
  • 打赏
  • 举报
回复

//悲剧了,最后改
string str = "01";
string str1 = "10";
string str2 = "11";
Regex reg = new Regex(@"^(0|[1-9]\d*)$");
Response.Write(reg.Match(str).Success);
Response.Write(reg.Match(str1).Success);
Response.Write(reg.Match(str2).Success);
huangwenquan123 2011-03-23
  • 打赏
  • 举报
回复

//改正下
string str = "10";
Regex reg = new Regex(@"^(0|[1-9]\d+)$");
Response.Write(reg.Match(str).Success);
huangwenquan123 2011-03-23
  • 打赏
  • 举报
回复
            string str = "01";
Regex reg = new Regex(@"^(0|[1-9]+)$");
Response.Write(reg.Match(str).Success);
dalmeeme 2011-03-23
  • 打赏
  • 举报
回复
			/// <summary>
/// 验证字符串是否是正整数。
/// </summary>
/// <param name="checkedStr">需验证的字符串。</param>
/// <param name="includeZero">是否包括零。</param>
/// <returns></returns>
public static bool IsPositiveInteger(string checkedStr, bool includeZero)
{
if (includeZero)
return Regex.IsMatch(checkedStr, @"^([1-9]\d*|0)$");
else
return Regex.IsMatch(checkedStr, @"^[1-9]\d*$");
}
linuxjava01 2011-03-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 rock870210 的回复:]

012不是正整数吗?
[/Quote]
不允许这样的格式。
我试了^[1-9]\d*|0$或者^0|[1-9]\d*$都不行。
Rock870210 2011-03-23
  • 打赏
  • 举报
回复
012不是正整数吗?

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧