1

我有一个大字符串,我需要从中提取字符串值。字符串值位于分隔符之间

category = '

';

这是我的正则表达式,但我需要避免输出分隔符。

String productCategory = Regex.Match(html, @"category = '(.*?)';").Value;

这是示例 category = 'Video Cards';

我需要提取 Video Cards

4

3 回答 3

3

您可以使用前瞻和后向运算符,因此您最终会得到如下内容:

string pattern = @"(?<=category = ').*(?=';)";
string productCategory = Regex.Match(html, pattern ).Value;

还值得一提的是,用正则表达式解析 HTML 是个坏主意。您应该使用 HTML 解析器来解析 HTML。

于 2012-05-07T16:56:55.223 回答
1

您是否考虑过使用该MatchObj.Groups物业?如果您在像Derek Slager's这样的测试站点测试您当前的正则表达式,您会注意到您想要的正是第一个组。您应该能够简单地调用第一个组并获得所需的内容。

productCategory.Groups[0].Value
于 2012-05-07T16:59:09.470 回答
0

您要提取组:

String productCategory = Regex.Match(html, @"category = '(.*?)';").Groups[1].Value; 
于 2012-05-07T16:57:13.647 回答