0

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

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

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

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

3 回答 3

3

你可以使用这个正则表达式: -

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

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


实际上,您的正则表达式也可以,但是您忘记将*量词放在末尾.:-

"([\d]+|[\d]+[.][\d]+).*"  // Note the `*` at the end
于 2012-12-04T16:29:27.090 回答
1

你可以使用这个正则表达式

 var reg=@"^(\d+(\.\d+)?).*";
 List<string> nums=Regex.Matches(inp,reg,RegexOptions.Multiline)
                        .Cast<Match>()
                        .Select(x=>x.Value)
                        .ToList();      
于 2012-12-04T16:30:00.197 回答
0

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

于 2012-12-04T16:29:41.497 回答