0

正規表現を使用しているときに、文字列に数字が見つからないかどうかを確認することはできますか?

だから私がこれをしているなら:

String temp;
String myText = "abcd";
temp = Regex.Match(myText, @"\d+").Value;

番号が見つからなかったことを確認するにはどうすればよいですか?

これを行うだけですか:

if (temp = ""){
//code
}
4

6 に答える 6

3

それを行うより良い方法は

if (Regex.IsMatch(stringToCheck, @"\d+"){
    // string has number
}

数字が見つからない場合は、次のように試してください

if (!Regex.IsMatch(stringToCheck, @"\d+"){
    // no numbers found
}

文字列内の number のすべての一致を見つける

MatchCollection matches = Regex.Matchs(stringToCheck, @"\d+");

foreach(Match match in matches){
    //Console.WriteLine(match.Value);
}
于 2013-05-17T15:00:49.380 に答える
1

一致しません。一致した場合は、どこかで番号を見つけたはずです。

于 2013-05-17T14:58:30.103 に答える
1

正規表現で逆一致を行うだけです。

if ( !Regex.Match ( stringToCheck, "^[0-9]+$" ).Success ) {

  }
于 2013-05-17T14:58:49.223 に答える
1

あなたはIsMatchそれを使用してから否定することができます

if(!Regex.IsMatch(inp,".*\d.*"))//no number found
于 2013-05-17T15:00:03.387 に答える
0
Match temp;
String myText = "[0123456789]";
temp = Regex.Match(myText).Value;
bool NoDigits = !temp.Success;

私の答えの元の混乱を申し訳ありません。また、\d フラグを使い続けることもできます。私は [0123456789] が好きです。

于 2013-05-17T14:58:29.080 に答える
0
String myText = "abcd";

if (Regex.IsMatch(myText, "[0-9]+"))
{
    // there was a number
} else {
    // no numbers
}
于 2013-05-17T15:01:23.583 に答える