数字的正则表达式将字符串与非数字字符匹配

时间:2014-07-23 20:11:56

标签: c# .net regex

我的正则表达式模式为@"\d+"。但是对于字符串“9r651”,它总是返回true。我只是希望它为仅包含数字的字符串(0-9)返回true。 我只是想不出来。任何帮助将非常感激。 感谢。

3 个答案:

答案 0 :(得分:6)

您需要anchor your regex,否则会在主题内的任何位置找到匹配项。使用^\d+$模式。

^告诉正则表达式引擎匹配应该在主题的开头发生。

$告诉正则表达式引擎匹配应该在主题结束时发生。

答案 1 :(得分:3)

@"^\d+$"

^说“行必须从这里开始”,$说“行必须在这里结束”

答案 2 :(得分:1)

如果字符串在字符串的任何位置包含一个或多个数字,则该模式返回正匹配。

如果字符串只包含数字,那么你想要的是一个积极匹配的模式。

^\d+$

在开头添加^,在结尾添加$表示“该行必须从此处开始,后跟一个或多个数字,然后结束”