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