由于我是正则表达式的新手,我想在这里获得帮助。var test = "and ( [family]: \"trees \" or [family]: \" colors \" )"我想提取家庭列表:树木颜色我使用了以下模式。Regex.Matches(test, @"[family]:\*\");它对我不起作用,任何建议都会有所帮助。
2 回答
繁花不似锦
TA贡献1851条经验 获得超4个赞
您可以使用
Regex.Matches(filters.queryString, @"\[family]:\s*""([^""]*)""")
.Cast<Match>()
.Select(m => m.Groups[1].Value.Trim())
.ToList();
查看正则表达式演示
您需要的值在第 1 组中,并且使用.Trim()
,将从这些子字符串中删除前导/尾随空格。
图案详情
\[family]:
- 一个[family]
子串\s*
- 0+ 个空白字符"
- 双引号([^"]*)
- 捕获组 #1:零个或多个字符,而不是"
"
- 双引号。
var test = "and ( [family]: \" trees \" or [family]: \" colors \" )";
var result = Regex.Matches(test, @"\[family]:\s*""([^""]*)""")
.Cast<Match>()
.Select(m => m.Groups[1].Value.Trim())
.ToList();
foreach (var s in result)
Console.WriteLine(s); // => trees, colors
- 2 回答
- 0 关注
- 290 浏览
添加回答
举报
0/150
提交
取消