我有一个大字符串,我需要从中提取字符串值。字符串值位于分隔符之间
category = '
和
';
这是我的正则表达式,但我需要避免输出分隔符。
String productCategory = Regex.Match(html, @"category = '(.*?)';").Value;
这是示例
category = 'Video Cards';
我需要提取
Video Cards
您可以使用前瞻和后向运算符,因此您最终会得到如下内容:
string pattern = @"(?<=category = ').*(?=';)";
string productCategory = Regex.Match(html, pattern ).Value;
还值得一提的是,用正则表达式解析 HTML 是个坏主意。您应该使用 HTML 解析器来解析 HTML。
您是否考虑过使用该MatchObj.Groups
物业?如果您在像Derek Slager's这样的测试站点测试您当前的正则表达式,您会注意到您想要的正是第一个组。您应该能够简单地调用第一个组并获得所需的内容。
productCategory.Groups[0].Value
您要提取组:
String productCategory = Regex.Match(html, @"category = '(.*?)';").Groups[1].Value;