1

我想使用正则表达式提取引号内的数据

My Text is : boundary="s323sd2342423---"

现在我需要在不使用子字符串的情况下提取双引号内的值。

我尝试了以下但没有帮助。

String pattern = @"boundary=""(?<value>[^""]*";
Match m = Regex.Match(rawMessage, pattern);
while (m.Success)
{
    boundaryString = m.Groups["value"].Value;
    m = m.NextMatch();
}
4

4 回答 4

2

您需要关闭组的左括号

String pattern = @"boundary=""(?<value>[^""]*)";

现在如果你和

Console.WriteLine(m.Groups["value"].Value);

将打印:

s323sd2342423---
于 2013-05-29T14:06:37.237 回答
1

使用以下正则表达式,您无需任何分组即可获得所需内容

(?<=boundary=")[^"]+(?=")

获取引用文本的代码:

string txt = "boundary=\"s323sd2342423---\"";
string quotedTxt = Regex.Match(txt, @"(?<=boundary="")[^""]+(?="")").Value;
于 2013-05-29T14:13:37.530 回答
1

您可以使用此模式,它会起作用。

String pattern = @"boundary=\""(?<value>.+?)\""";
于 2013-05-29T14:08:26.473 回答
0

根据您的详细信息:

我想使用正则表达式提取引号内的数据

为什么不直接使用这种模式:

"(?<value>[^"]+)"
于 2013-05-30T05:56:46.087 回答