正则表达式仅用于数字

我根本没有使用过正则表达式,因此我很难进行故障排除。我希望正则表达式仅在包含的字符串为全数字时才匹配;但是在下面的两个示例中,它匹配包含所有数字和等号(例如“

1234 = 4321”)的字符串。我敢肯定有一种方法可以改变这种行为,但是正如我所说,我从未真正对正则表达式做过很多事情。

string compare = "1234=4321";

Regex regex = new Regex(@"[\d]");

if (regex.IsMatch(compare))

{

//true

}

regex = new Regex("[0-9]");

if (regex.IsMatch(compare))

{

//true

}

万一重要,我使用的是C#和.NET2.0。

回答:

使用开始和结束锚点。

Regex regex = new Regex(@"^\d$");

使用"^\d+$",如果你需要匹配一个以上的数字。


请注意,"\d"它将[0-9]与其他数字字符(如东部阿拉伯数字)匹配٠١٢٣٤٥٦٧٨٩。用于"^[0-9]+$"将匹配限制为仅阿拉伯数字0-9。


如果您需要包含除数字以外的任何数字表示形式(例如入门的十进制值),请参阅@tchrist的综合指南,该指南以正则表达式解析数字。

以上是 正则表达式仅用于数字 的全部内容, 来源链接: utcz.com/qa/409734.html

回到顶部