正则表达式 - key, value键值对文本的解析

发布时间 2023-06-29 01:07:08作者: yanghui01

 

MatchCollection result = Regex.Matches("key=\"name\" key2=name2 key3= key4=\"\"", @"(\S+)=""?([\w-.]+)""?");
for (var i = 0; i < result.Count; ++i)
{
    Match item = result[i];
    Debug.Log($"===== match: v:{item.Value}, index:{item.Index}, len:{item.Length}");
    if (3 == item.Groups.Count)
    {
        var key = item.Groups[1].Value;
        var value = item.Groups[2].Value;
        //Debug.Log($"info: key:'{key}', value:'{value}'");
        switch (key)
        {
            case "test":
            break;
        }
    }
    else
    {
        Debug.Log($"groups: {item.Groups.Count}");
        for (var j = 0; j < item.Groups.Count; ++j)
        {
            Group g = item.Groups[j];
            Debug.Log($"{j}: v:{g.Value}, index:{g.Index}, len:{g.Length}, succ:{g.Success}");
        }
    }
}