什么是正则表达式来获取双引号内的文本。正则表达式在双引号中获取文本
我正则表达式是:
"\"([^\"]*)\""
例如:"I need this"
输出:I need this
我越来越:"I need this"
什么是正则表达式来获取双引号内的文本。正则表达式在双引号中获取文本
我正则表达式是:
"\"([^\"]*)\""
例如:"I need this"
输出:I need this
我越来越:"I need this"
用下面的正则表达式,你会得到你想要的东西,没有任何分组
(?<=")[^"]+?(?=")
代码来获取引用的文字:
string txt = "hi my name is \"foo\"";
string quotedTxt = Regex.Match(txt, @"(?<="")[^""]+?(?="")").Value;
这里是你的问题的完整解决方案:
string sample = "this is \"what I need\"";
Regex reg = new Regex(@"""(.+)""");
Match mat = reg.Match(sample);
string foundValue = "";
if(mat.Groups.Count > 1){
foundValue = mat.Groups[1].Value;
}
Console.WriteLine(foundValue);
个
打印:
我需要什么
这是正确的答案,但你能解释它为什么有效吗?(他们只想打印组,而不是整个匹配)? – 2013-05-10 16:34:01
最初的正则表达式工作得很好,而不必诉诸于'。*'(或在这种情况下'。+')。但是+1指出需要的是'Groups [1]'而不是'Groups [0]'。我怀疑这是OP项目的问题。 – 2013-05-10 16:38:21
Too迟到发布答案?
string text = "some text \"I need this\" \"and also this\" but not this";
List<string> matches = Regex.Matches(text, @"""(.+?)""").Cast<Match>()
.Select(m => m.Groups[1].Value)
.ToList();
它有帮助,但是,我也得到了引号后的文字“”......也许你可以改变它......感谢例子:“它是一切都好”这也是即将....输出:-it这一切都是好的,这也来..感谢 – 2013-05-10 16:49:58
@bhargava这是奇数,我没有得到这个 – 2013-05-10 17:39:28
问题是,前瞻并不消耗结束报价。正则表达式开始在第一场比赛结束的地点寻找第二场比赛,并且几乎立即找到第二场比赛,因为后场比赛与先前匹配的报价相匹配。 – 2013-05-10 20:37:51