我从查询中得到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;
}
答案 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.+\"");