使用Regex时是否可以检查是否在字符串中找不到数字?
所以如果我这样做:
String temp;
String myText = "abcd";
temp = Regex.Match(myText, @"\d+").Value;
如何检查没有找到号码?
我只是这样做:
if (temp = ""){
//code
}
更好的方法是
if (Regex.IsMatch(stringToCheck, @"\d+"){
// string has number
}
如果您想处理找不到数字,请尝试
if (!Regex.IsMatch(stringToCheck, @"\d+"){
// no numbers found
}
在字符串中查找所有数字的匹配项
MatchCollection matches = Regex.Matchs(stringToCheck, @"\d+");
foreach(Match match in matches){
//Console.WriteLine(match.Value);
}
你没有比赛。如果你有一个匹配,你会在某个地方找到一个数字。
只需使用正则表达式进行反向匹配。
if ( !Regex.Match ( stringToCheck, "^[0-9]+$" ).Success ) {
}
你可以使用IsMatch
然后否定它
if(!Regex.IsMatch(inp,".*\d.*"))//no number found
Match temp;
String myText = "[0123456789]";
temp = Regex.Match(myText).Value;
bool NoDigits = !temp.Success;
很抱歉我的回答中最初的混乱。此外,您可以继续使用 \d 标志,我只是喜欢 [0123456789] 因为它使它在这种简单的情况下更加突出。
String myText = "abcd";
if (Regex.IsMatch(myText, "[0-9]+"))
{
// there was a number
} else {
// no numbers
}