为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式获取\“和\”之间的字符串

正则表达式获取\“和\”之间的字符串

C#
ibeautiful 2021-07-01 13:01:32
由于我是正则表达式的新手,我想在这里获得帮助。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:零个或多个字符,而不是 "

  • " - 双引号。

C# 演示

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


查看完整回答
反对 回复 2021-07-10
  • 2 回答
  • 0 关注
  • 290 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信