0

以下は問題のコードです:

ID = null;
Table = null;

Match CMD = Regex.Match(CommandString, @"create update command for (^[A-Za-z0-9 ]+$) Where_ID_=_(^[0-9]+$)"); //create update command for MARKSWhere_ID_=_11

if (CMD.Success)
{
    Table = CMD.Groups[1].Value;
    ID = CMD.Groups[2].Value;

    return true;
}

これはいつでも false を返します

CommandString = "create update command for MARKS Where_ID_=_5"

なぜ?

4

2 に答える 2

2

使用した正規表現^では、入力文字列の先頭を示し、入力文字列$の末尾を示します。

^正規表現からandを削除すると$、必要なものが得られます。

于 2013-11-13T08:05:10.247 に答える
0
  1. [A-Za-z0-9]{0,10} は、a から z A から Z および 0 から 9 までの 10 個のアルファベットのみを許可します

  2. 正規表現で一致するアルファベットの番号を修正するのは良い習慣です。

于 2013-11-13T09:53:08.753 に答える