ich habe ein serialisiertes PHP Objekt (Nein, Thema gehört nicht zu Web-Technologien),
dies möchte ich entweder deserialisieren oder per RegEx spezielle Werte auslesen.
Ausschnitt:
i:1;s:9:"UnitPrice";i:0;s:5:"Value";s:2:"15";s:9:"FieldName";s:20:"....
Nun muss der Wert nach Value ausgelesen werden.
serial = serialisiertes PHP Objekt
s = List<string> wo die Werte hinein sollen
var rx = new Regex("\"Value\"", RegexOptions.Compiled | RegexOptions.IgnoreCase);
Match match = rx.Match(serial);
while (match.Success)
{
s.Add(serial.Substring(match.Index + 14, 4).Replace("\"", ""));
match = match.NextMatch();
}
Nun wollte ich es über:
var output = string.Join(";", Regex.Matches(serial, "\\\"(.*?)\\\"")
.Cast<Match>()
.Select(m => m.Groups[1].Value));
Ideal wäre es evtl wenn ich den Wert nach: s:5:"Value"; auslese, dies bekomme ich mit RegEx nicht hin.
Kann ich überhaupt eine solche Zeichenkette mit RegEx verwenden?
Ist dieser gedankengang Zielführend? oder soll ich mich besser an eine deserialisierung machen?
Gibt es für eine solche deserialisierung DesignPatterns?
Danke