-3
Regex oRegex = new Regex(@"test[a-zA-z]");
string st = @"this is a test1 and testA and test[abc] another testB and test(xyz) again.";
foreach(Match match in oRegex.Matches(st))
{
     Console.WriteLine(match.Value);
}

出力:

テストA

テスト[

テストB

質問:test[出力にあるのはなぜですか? 文字クラス [a-zA-Z] は、a から z および A から Z までの英字のみに一致すると想定されています。

4

3 に答える 3

3

ascii の範囲[内にあるため、char クラス内の存在を次のように変更します。 A-zA-zA-Z

Regex oRegex = new Regex(@"test[a-zA-Z]");
于 2015-07-15T04:44:15.330 に答える
3

あなたの場合、 Z はタイプミスです。これを変更してください[a-zA-Z]

Regex oRegex = new Regex(@"test[a-zA-Z]");
于 2015-07-15T04:44:28.880 に答える
2

正規表現にタイプミスがあります。[a-zA-z]する必要があります[a-zA-Z]

文字[Az文字の間にあります。

于 2015-07-15T04:44:25.183 に答える