0

假设我有以下字符串。

"<description>This is the description,<strong> I want to retrieve this text</strong></description> and this is not the description."

我只想提取两个描述标签/字符串之间的字符串部分。我知道我可以安装和使用 html 敏捷包之类的东西,但我宁愿不要为了这样的目的而执行任务。.net XML 解析器也不会这样做,因为它不能很好地处理 html。

4

3 回答 3

2
var description = Regex.Match(s, @"<description>(.*)</description>").Groups[1];
于 2012-05-26T11:56:34.920 回答
1

您可以使用带有环视的正则表达式来匹配开始和结束标签:

string description = 
    Regex.Match(html, @"(?<=<description>).*?(?=</description>)").Value;

但是,请注意这种方法非常脆弱。例如,它假定您的<description>元素永远不会有属性、嵌套或自闭合。

于 2012-05-26T12:08:23.540 回答
0

您可以使用正则表达式使用以下代码在描述标签之间获取字符串。

 Regex objPatterntable = new Regex("<description [^>]*?>.*?</description>", RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
于 2012-05-26T14:11:44.887 回答