繁体   English   中英

正则表达式从定界符之间的字符串中提取值

[英]regex extract value from the string between delimiters

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

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之类的测试站点上测试当前的正则表达式,您会确切地注意到您想要的是第一个Group。 您应该只能够调用第一个组并获得所需的内容。

productCategory.Groups[0].Value

您要提取组:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM