只适用于数字

只适用于数字

我根本没有使用正则表达式,所以我很难排除问题。我希望正则表达式只在包含的字符串为所有数字时才匹配;但是在下面的两个示例中,它匹配的是一个包含所有数字的字符串,再加上一个类似于“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。


汪汪一只猫
浏览 619回答 3
3回答

慕神8447489

正则表达式将匹配包含数字的任何内容,您希望使用锚来匹配整个字符串,然后匹配一个或多个数字:regex = new Regex("^[0-9]+$");这个^将锚定字符串的开头,$将锚定字符串的末尾,而+将匹配其前面的一个或多个(本例中为一个数字)。
打开App,查看更多内容
随时随地看视频慕课网APP