请教一个正则表达式 需要一个正则表达式,条件是这样的。可以验证任意的数值,整数部份位数没有限制,小数部份位数没有限制。一位小数点,有小数点,就必需要有整数和小数部份。可以是负数(也就是第一位是“-”),也可以不是负数。但是像00,09 这样型式的就认为是不正确的。谢谢各位指导。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.qqgb.com/NetProgramme/PHP/PHPZZBDS/NetProgramme_62312.html Regex r = new Regex(@"^\-?[1-9]\d*(\.\d+)?$"); Regex r = new Regex(@"^\-?([1-9]\d*|0)(\.\d+)?$"); Regex rx = new Regex(@"^\-?([1-9]\d*|[0])(\.\d+)?$");测试程序:Regex rx = new Regex(@"^\-?([1-9]\d*|[0])(\.\d+)?$"); string str = Console.ReadLine(); while (str != "exit") { if ((rx.Match(str)).Success) { Console.WriteLine("yes"); } else { Console.WriteLine("no"); } str = Console.ReadLine(); } 可以验证任意的数值,整数部份位数没有限制,小数部份位数没有限制。一位小数点,有小数点,就必需要有整数和小数部份。可以是负数(也就是第一位是“-”),也可以不是负数。但是像00,09 这样型式的就认为是不正确的---------------------------------------------------^(\-)?(0|[1-9]\d*|((0|[1-9]\d*)\.\d*[1-9])?)$取$0的值,已调试 ^(\-)?(0|[1-9]\d*|(0|[1-9]\d*)\.\d*[1-9])$改了一下,这样效率更好,取$0的值 在我以前写的一个基础上改了一下,只是没有匹配0.0以及更多0的情况(当然,有这个需要也可以加上),其它都可匹配,另外就是可以匹配“1.0”,“1.010”这样的情况,如果没有这个需要,用楼上的就可以了^((-?(([1-9]\d*(\.\d+)?)|(0\.0*[1-9]\d*)))|0)$ C#掉用Print2Flash设置大小和分页打印 时间提取相减 请问当今哪种分辨率用得多?是800*600还是1024*768? 框架页跳转后无法返回 请达人看下这程序 有关智能客户端的讨论 C#怎么获得内存物理内存? [难点]如何在C#的WEB页面通过鼠标截取鼠标起始与结束的X、Y轴平面内的图片出来呢?同时WEB页面上需要显示鼠标选取的区域{如果能够给出自 大家好,如何在 dll中使用sqlcommand呢 请问如何操作进入命令行方式??? c# 网络 多客户端 又问题 C#DataTable中CONVERT函数跟SQL数据库中用法不一样吗?
Regex rx = new Regex(@"^\-?([1-9]\d*|[0])(\.\d+)?$");
string str = Console.ReadLine();
while (str != "exit")
{
if ((rx.Match(str)).Success)
{
Console.WriteLine("yes");
}
else
{
Console.WriteLine("no");
}
str = Console.ReadLine();
}
---------------------------------------------------
^(\-)?(0|[1-9]\d*|((0|[1-9]\d*)\.\d*[1-9])?)$
取$0的值,已调试
改了一下,这样效率更好,取$0的值
^((-?(([1-9]\d*(\.\d+)?)|(0\.0*[1-9]\d*)))|0)$