正则表达式 - key, value键值对文本的解析
string str = "abc key=\"hello\" key2=test key3= key4=\"\""; string pattern = @"(\S+)=""?([\w-.]+)""?"; //键值对正则表达式 MatchCollection result = Regex.Matches(str, pattern); for (var i = 0; i < result.Count; ++i) { Match item = result[i]; Debug.Log($"===== match{i}: itemValue:{item.Value}, index:{item.Index}, len:{item.Length}, groupsCount:{item.Groups.Count}"); if (3 == item.Groups.Count) { for (var j = 0; j < item.Groups.Count; ++j) { Group g = item.Groups[j]; Debug.Log($"group{j}: v:{g.Value}, index:{g.Index}, len:{g.Length}, succ:{g.Success}"); } var key = item.Groups[1].Value; var value = item.Groups[2].Value; } }
打印结果:
group0对应整个匹配条目
group1对应第1个括号
group2对应第2个括号