【发布时间】:2018-06-29 16:11:26
【问题描述】:
我想获取以逗号分隔的键值对的正则表达式。
输入:“tag.Name:test,age:30,name:TestName123”
这是我目前的尝试
string pattern = @".*:.*"
(我猜 .* 多次表示任何内容,然后是 : 以及多次表示任何内容,如果我在末尾包含逗号,*
string pattern = @".*:.*,*"
我假设是同样的事情,但它对我不起作用,最终结果可以用 Linq 完成,但我不想解析输入
我的输出示例
输入
string input = "tags.tagName:Tag1,tags.isRequired:false"
var finaRes = input.Split(',').Select(x => x.Split(':')).Select(x => new { Key = x.First(), Value= x.Last()});
输出:
Key Value
---------------|-------
tags.tagName | Tag1
tags.isRequired| false
【问题讨论】:
-
@AleksAndreev 我没有看到您所指的 =,分隔符是冒号
-
@AleksAndreev 你是对的,我现在正在编辑那部分
标签: c# regex regex-group