4

この正規表現が何をチェックするのか誰か説明できますか

Regex x = new Regex("{([^}]+)}");
4

5 に答える 5

4

内部{...}にいくつか (1 つ以上)がある を探します。non-}成功した場合は、コンテンツを{...}キャプチャ グループ 1 に配置します。

Regex x = new Regex("{([^}]+)}");
var m = x.Match("{Hello}");

string str0 = m.Groups[0].ToString(); // {Hello}
string str1 = m.Groups[1].ToString(); // Hello

グループ 0 は常に試合全体です。

var m2 = x.Match("{}");
var success = m2.Success; // false

固定されていないため、各文字列に複数の一致がある可能性があります...

var m2 = x.Matches("{Hello}{}{World}");
int c = m2.Count; // 2 matches. The {} wasn't a match, {Hello} and {World} were

補足として、これが優れた C# パーサーの始まりだと思うなら、あなたは間違った道を進んでいます :-) のような式{ { string str = "Hello"; } str += "x"; }はこの正規表現を混乱させるので、{ string str = "}" }. これはスタックレス正規表現です。派手なトリックはありません。

于 2013-08-08T08:06:10.823 に答える
1

中括弧の間のすべてに一致します。 {ddhhh13233dddd} {ddd}

于 2013-08-08T08:09:09.907 に答える
0

これにより、中括弧内のすべてがキャッチされます。

このツールは正規表現を説明するのに最適だと思います

http://tinyurl.com/lz3d458

ここに画像の説明を入力

于 2013-08-08T08:23:58.767 に答える