現在、各レベルに正規表現を持つある種のツリーを使用して、任意のテキスト ファイルをツリーに解析しています。これまでのところ、すべてがうまく機能し、正規表現の結果が子ノードに渡され、テキストのさらなる解析が行われます。ノードと子ノード間のリンクを取得するために、ノード自体にも名前があり、正規表現内でグループ名として使用されます。したがって、いくつかのテキストを解析した後、いくつかの名前付きグループを含む正規表現を取得し、ノード自体にも同じ名前の子ノードが含まれているため、任意の解析を行うための再帰構造が生じます。
次のステップでこのツリーの処理を少し簡単にするために、ツリー内の異なるノードの下のテキスト ファイル内にまったく同じ情報が必要です。これはおそらく少し理解しにくいという事実のため、ここに私が達成したいことを示す単体テストがあります:
string input = "Some identifier=Just a value like 123";
// ToDo: Change the pattern, that the new group 'anotherName' will contain the same text as 'key'.
string pattern = "^(?'key'.*?)=(?'value'.*)$";
Regex regex = new Regex(pattern);
Match match = regex.Match(input);
var key = match.Groups["key"];
var value = match.Groups["value"];
var sameAsKeyButWithOtherGroupName = match.Groups["anotherName"];
Assert.That(key, Is.EqualTo(sameAsKeyButWithOtherGroupName));
これを機能させる方法はありますか?