[Mono-list] Regex Help..
Yves Kurz
ml_yves@magnific.ch
Sat, 25 Sep 2004 11:23:31 +0200
Hello.
I have to parse a string like
yyy.xxx.zzz:key1=val1,key2=val2,key3=val3... where the number of
key/value pairs is not specified, the value of a key can be an empty or
a quoted string like "some\"\nvalue". The first part is the domain.
Now i would like to get each part separated, the domain and each
key/value pair.
I have been trying something like:
string str = "ch.hta-bi.bfh.ch:key1=value2,key2=value3";
Regex rx = new Regex (@"^(?<domain>[^:]*):(?<key>[^=]+)=(?
<value>[^,]+)(,(?<key>[^=]+)=(?<value>[^,]+))*$");
MatchCollection matches = rx.Matches (str);
foreach (Match m in matches) {
int i = 0;
if (m.Length != 0)
Console.WriteLine (i++ +": "+m.Groups["domain"] + " " + m.Groups
["key"] + " " + m.Groups["value"]);
}
This works not correct. This way I get just the last key value pair.
What i'm doing wrong here? Is it possible at all to do with a regex?
Thanks
yves