在C#中创建正则表达式

时间:2019-04-27 12:59:19

标签: c# regex asp.net-mvc

我从查询中得到3种字符串:

**TYPE1 :**["type1"]
**TYPE2 :**["type2 type2 type2"]
**TYPE3 :**["type3 type3"]

我写了一个代码来仅提取单词或句子,但是代码给出了错误,请更正代码中我错误的地方。

// error in regular expression
Regex _regex = new Regex(@"\"\w.+\"");
Match _match = _regex.Match(temp);
if (_match.Success)
{
    resourceAnalyticsModel.ResourceFieldName = _match.Value;
}

2 个答案:

答案 0 :(得分:1)

尝试以下操作:

            string[] inputs = { "**[\"type1\"]", "**[\"type2 type2 type2\"]", "**[\"type3 type3\"]" };

            foreach (string input in inputs)
            {
                Regex _regex = new Regex("\"([^\"]+)");
                Match _match = _regex.Match(input);
                Console.WriteLine(_match.Groups[1].Value);
            }

答案 1 :(得分:0)

在使用文字字符串(在字符串之前为@时,必须通过双引号将引号引起来,因此您的模式应为:

Regex _regex = new Regex(@"""\w.+""");

或者,如果您不想使用文字字符串:

Regex _regex = new Regex("\"\\w.+\"");