需要正则表达式来匹配以数字开头的字符串

时间:2012-12-04 16:27:02

标签: c# regex

我需要正则表达式来匹配从数字开始的字符串(数字可以是整数或浮点数)。例如:

100px
100 px
1.0ft
1.0 ft
0.001ft2
0.001 ft2

我是新手,有人可以帮助我吗?我已经尝试了类似的东西:

Regex numberBeginRegex = new Regex(@"([\d]+|[\d]+[.][\d]+).");

3 个答案:

答案 0 :(得分:3)

您可以使用此正则表达式: -

"(\d+(\.\d+)?).*"

(\d+(\.\d+)?) - 匹配整数或浮点数。使用?量词表示小数部分是可选的,这意味着 - match 0 or 1


实际上你的正则表达式也会起作用,但你忘记在*的末尾加上.量词: -

"([\d]+|[\d]+[.][\d]+).*"  // Note the `*` at the end

答案 1 :(得分:1)

您可以使用此正则表达式

 var reg=@"^(\d+(\.\d+)?).*";
 List<string> nums=Regex.Matches(inp,reg,RegexOptions.Multiline)
                        .Cast<Match>()
                        .Select(x=>x.Value)
                        .ToList();      

答案 2 :(得分:0)

如果您想检查他们是否以数字开头,您可以使用substring()获取第一个字符