Regex.IsMatch(str,"^[0-9]*[1-9][0-9]*$")是什么意思?

时间:2021-03-12 10:34:09
如下面的是判断为整数 :
#region 判断是否为正整数
public static bool IsValidNumber(string str)
{
    return Regex.IsMatch(str,"^[0-9]*[1-9][0-9]*$");
}
        #endregion
请问:
1:^[0-9]*[1-9][0-9]*$  是什么意思?
2:再帮我写一个判断是float的函数

8 个解决方案

#1


楼主没学过正则?

#2


up

#3


楼主在哪里找的,这个有些不伦不类啊,匹配的并不是正整数,你用0011之类的试下就知道了


匹配正整数

^[1-9][0-9]*$

匹配正浮点数

^([1-9][0-9]*\.[0-9]*|0\.(?!0+$)[0-9]*)$

#4


to 过客:
^([1-9][0-9]*\.[0-9]*|0\.(?!0+$)[0-9]*)$
提示 .无法识别的转义序列

#5


try

public static bool IsValidNumber(string str)
{
    return Regex.IsMatch(str,@"^([1-9][0-9]*\.[0-9]*|0\.(?!0+$)[0-9]*)$");
}

#6


mark

#7


 Regex rgx1 = new Regex("^[0-9]*[1-9][0-9]*$");
     
 rgx1.IsMatch(str)

#8


^是匹配字符串的开始,$是结束符,[0-9]*表示一位数字出现多次,[1-9]表示一位数字出现
一次,匹配是一个字符串.

#1


楼主没学过正则?

#2


up

#3


楼主在哪里找的,这个有些不伦不类啊,匹配的并不是正整数,你用0011之类的试下就知道了


匹配正整数

^[1-9][0-9]*$

匹配正浮点数

^([1-9][0-9]*\.[0-9]*|0\.(?!0+$)[0-9]*)$

#4


to 过客:
^([1-9][0-9]*\.[0-9]*|0\.(?!0+$)[0-9]*)$
提示 .无法识别的转义序列

#5


try

public static bool IsValidNumber(string str)
{
    return Regex.IsMatch(str,@"^([1-9][0-9]*\.[0-9]*|0\.(?!0+$)[0-9]*)$");
}

#6


mark

#7


 Regex rgx1 = new Regex("^[0-9]*[1-9][0-9]*$");
     
 rgx1.IsMatch(str)

#8


^是匹配字符串的开始,$是结束符,[0-9]*表示一位数字出现多次,[1-9]表示一位数字出现
一次,匹配是一个字符串.