如何用Java正则表达式提取html中所有的文本和超链接,然后分别存入txt文件和数据库中
1个回答
展开全部
您好,您这样:提取链接的标签文本和url地址
将Html文件代码传入string参数s,代码如下:
private void Reg_A_Href(string s)
{
string str = s;
Regex re = new Regex(@"<a[^>]+href=\s*(?:'(?<href>[^']+)'|""(?<href>[^""]+)""|(?<href>[^>\s]+))\s*[^>]*>(?<text>.*?)</a>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
MatchCollection mc = re.Matches(str);
Console.WriteLine(mc.Count);
foreach (Match m in mc)
{
info_Add("[href] " + m.Groups["href"].Value);
info_Add("[text] " + m.Groups["text"].Value);
Console.WriteLine("{0}:{1}", m.Groups["href"].Value, m.Groups["text"].Value);
}
}
将Html文件代码传入string参数s,代码如下:
private void Reg_A_Href(string s)
{
string str = s;
Regex re = new Regex(@"<a[^>]+href=\s*(?:'(?<href>[^']+)'|""(?<href>[^""]+)""|(?<href>[^>\s]+))\s*[^>]*>(?<text>.*?)</a>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
MatchCollection mc = re.Matches(str);
Console.WriteLine(mc.Count);
foreach (Match m in mc)
{
info_Add("[href] " + m.Groups["href"].Value);
info_Add("[text] " + m.Groups["text"].Value);
Console.WriteLine("{0}:{1}", m.Groups["href"].Value, m.Groups["text"].Value);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询