C#使用正则表达式解析超链接文本和地址
来源:互联网 发布:求矩阵的奇异值分解 编辑:程序博客网 时间:2024/04/28 20:30
表达式1,获取href地址:
(?is)<a[^>]*?href=(['""\s]?)(?<href>[^'""\s]*)\1[^>]*?>
c#代码:
Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""\s]?)(?<href>[^'""\s]*)\1[^>]*?>"); MatchCollection match = reg.Matches(textBox1.Text); foreach (Match m in match) { textBox2.Text += m.Groups["href"].Value; }
表达式2,可获取文本和地址:
<a.*?(?: |\t|\r|\n)?href=[\'"]?(.+?)[\'"]?(?:(?: |\t|\r|\n)+.*?)?>(.+?)<\/a.*?>
有时<a></a>中间还有<img>,可以参考以下代码去除:
string html = 要匹配的字符串;Regex reg = new Regex(@"<a\s*[^>]*>([\s\S]+?)</a>", RegexOptions.IgnoreCase);Match m = reg.Match(html);while(m.IsSuccess){string innerHTML = m.Result("$1");// 得到正则的括号里的内容,就是a的innerHTMLinnerHTML = Regex.Replace(innerHTML, @"<[^>]*>", "",RegexOptions.IgnoreCase);// 替换掉里面的html,只保留文字 m = m.NextResult;// 循环匹配html里的下一个结果}
另外还搜到一个表达式,测试了一下好像没用,留着参考:
Regex reg = new Regex(@"(?is)<a(?:(?!href=).)*href=(['""]?)(?<url>[^""\s>]*)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>");MatchCollection mc = reg.Matches(str);foreach (Match m in mc){ TextBox1.Text += m.Groups["url"].Value + "\n"; richTextBox2.Text += m.Groups["text"].Value + "\n"; }
- C#使用正则表达式解析超链接文本和地址
- C#中使用正则表达式提取超链接地址
- PHP使用正则表达式清除超链接文本
- js 正则表达式获取超链接地址或文本
- c#使用正则表达式匹配ipv4地址
- IP地址(C#语言)和正则表达式
- C# 正则替换文本为超链接
- C#关于使用正则表达式解析字符串
- 2013-正则表达式解析文本
- C#中使用正则表达式验证Email格式、IP地址格式和URL网址格式
- C#中使用正则表达式验证Email格式、IP地址格式和URL网址格式
- php获取超链接文本内容的几款正则表达式
- NSAttributedString,并富文本,正则表达式,超链接,水印
- c#正则表达式 ipv4地址
- 用正则表达式解析IPv4和IPv6地址字符串
- 正则表达式解析img标签以及给部分文字设置颜色和超链接
- JS 和 C#使用正则表达式
- C# 正则表达式使用
- 【设计模式】学习笔记8:命令模式(Command)
- 计算机与女人
- 面试时比较漂亮的回答
- 最近写关于window服务程序的心得
- zend framework2使用教程【四】–翻译和样式
- C#使用正则表达式解析超链接文本和地址
- Windows Live Writer---博客同步工具
- 数值积分之Newton_Cotes闭合积分公式
- 【character】oracle字符集问题概总
- bash技巧
- iOS -- 图形绘制(全)
- 黑马程序远-----网络编程
- strcpy 与strncpy
- 数值积分之Gauss求积法五点公式