/ / Potwierdzenie wyrażenia regularnego pary Wartość kluczowa [zamknięte] - c #, wyrażenie regularne

Wyrażenie regex dla pary wartości klucza [closed] - c #, regex

Analizuję następujące dane przy użyciu wyrażenia regularnego w języku C #.

Nie mogę zmienić struktury danych wejściowych, więc muszę wiedzieć, czy to, co robię, jest prawidłowe i czy są jakieś potencjalne pułapki.

Nie jestem ekspertem od wyrażeń regularnych, więc doceniłbym kilka porad.

string data = "[contact person]{some person name}[cellphone]{12312313123}[fax]{13131312312312321}";
string regex = @"[(?<name>.*?)]{(?<value>.*?)}";

foreach (Match s in Regex.Matches(data, regex))
Console.WriteLine(s.Groups["name"] + " = " + s.Groups["value"]);

Otrzymuję następujący wynik:

contact person = some person name
cellphone = 12312313123
fax = 13131312312312321

Odpowiedzi:

1 dla odpowiedzi № 1

Twój kod wygląda dobrze, to tylko moja sugestia:

var dic=Regex.Matches(data, regex).Cast<Match>()
.ToDictionary(m=>m.Groups["name"].Value,m=>m.Groups["value"].Value);