我有一个大字符串,我需要从中提取String值。字符串值位于分隔符
之间category = '
和
';
这是我的正则表达式,但我需要避免输出分隔符。
String productCategory = Regex.Match(html, @"category = '(.*?)';").Value;
这是例子
category = 'Video Cards';
我需要提取
Video Cards
答案 0 :(得分:3)
你可以使用的是前瞻和后视操作符,所以你最终得到的结果如下:
string pattern = @"(?<=category = ').*(?=';)";
string productCategory = Regex.Match(html, pattern ).Value;
值得一提的是parsing HTML with regexes is a bad idea。您应该使用HTML解析器来解析HTML。
答案 1 :(得分:1)
您是否考虑过使用MatchObj.Groups
财产?如果您在Derek Slager's等测试网站上测试当前的正则表达式,您会发现您想要的是第一个组。您应该只需调用第一个组并获得所需内容即可。
productCategory.Groups[0].Value
答案 2 :(得分:0)
您想要提取小组:
String productCategory = Regex.Match(html, @"category = '(.*?)';").Groups[1].Value;