この正規表現が何をチェックするのか誰か説明できますか
Regex x = new Regex("{([^}]+)}");
内部{...}
にいくつか (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 = "}" }
. これはスタックレス正規表現です。派手なトリックはありません。
中括弧の間のすべてに一致します。
{ddhhh13233dddd}
{ddd}