首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

求可以为负数的正则表达式解决思路

2013-01-26 
求可以为负数的正则表达式我以前是用 @^[0-9.]+$ 非数字的都可以判断出来,但是问题是负数(-1,-1.11)就验

求可以为负数的正则表达式
我以前是用 @"^[0-9.]+$" 非数字的都可以判断出来,但是问题是负数(-1,-1.11)就验证通不过, 我现在想负整数,负小数也能通过验证,这个正则表达式如何修改呢

[解决办法]

C# code
string strRegexFloat = @"^(?:[1-9][0-9]*\.[0-9]+|0\.(?!0+$)[0-9]+)$";
[解决办法]
string pattern = @"^\-?[0-9]+(\.[0-9]+)?$";
[解决办法]
C# code
^[+-]?([1-9][0-9]*|0)(\.[0-9]+)?%?$正数,负数,百分数都可以
[解决办法]
@"^[-]?[0-9.]+$"

在你的正则上加上[-]?就可以了
[解决办法]
估计你放在什么控件的Keypress事件里,前面先把“-”过滤了,是不是?如果要解决问题就贴代码吧
[解决办法]
^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
试试这个
[解决办法]
探讨

^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
试试这个

热点排行