繁体   English   中英

正则表达式在标签C#之间查找文本

[英]Regex Find Text Between Tags C#

我想剥离html标签,只返回标签之间的文本。 这是我目前正在使用的。

string regularExpressionPattern1 = @"<td(.*?)<\/td>";
Regex regex = new Regex(regularExpressionPattern1, RegexOptions.Singleline);
MatchCollection collection = regex.Matches(value.ToString());

我目前得到<td>13</td> ,我只想要13

谢谢,

您需要获得不属于该组的组值。 试试这个

Match m = collection[0];
var stripped = m.Groups[1].Value;

你可以使用look-behind ?<= and look-ahead ?=喜欢这个:

(?<=<td>)(.*?)(?=<\\/td>)

这应该只给你标签之间的文字。 有关Regex和前瞻/后视的更多信息,请点击此处

此外,在这里可以找到一个好的Regex测试仪。 我用它来测试我写的所有正则表达式字符串。

所以,使用HTML AgilityPack ,这真的很容易......

 HtmlDocument  doc = doc.LoadHtml(value);
 var nodes = doc.DocumentNode.SelectNodes("//td//text()");

将TextNodes放在nodes变量中。

使用match.Groups [1] .Value

暂无
暂无

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

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