http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 13581|回复: 6
打印 上一主题 下一主题

[C#语言基础] 正则表达式收集与C#方式实现

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-9 14:17:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.取出所有的 A标签
[C#] 纯文本查看 复制代码
<a[^>]+>(.*?)</a>

2.取出A标签里面的属性
会取出所有的A标签里面的属性
[C#] 纯文本查看 复制代码
<a[^>]+>

3.检查是否存在content的Meta
[C#] 纯文本查看 复制代码
<meta([^<]*)content=([^<]*)>(.*?)

4.检查是否存在rel的a
[C#] 纯文本查看 复制代码
<a([^<]*)rel=([^<]*)>(.*?)

5.获取时间的正则表达式
[C#] 纯文本查看 复制代码
\s\d{1,4}-\d{1,2}-\d{1,2}

6.获取以,分开的数字的正则
[C#] 纯文本查看 复制代码
\d{1,100}([,]*\d{1,100})*

7.匹配所有的Script标签
[C#] 纯文本查看 复制代码
<script[^>]*?>.*?</script>

8.匹配所有的noScript标签
[C#] 纯文本查看 复制代码
<noscript[^>]*?>.*?</noscript>

9. 匹配所有的href标签
[C#] 纯文本查看 复制代码
href=["'\s]?(.*?)["'

10.取出Html的编码
[C#] 纯文本查看 复制代码
Match meta = Regex.Match(html, "<meta([^<]*)charset=([^<]*)[\"']", RegexOptions.IgnoreCase | RegexOptions.Multiline);
tring charter = (meta.Groups.Count > 2) ? meta.Groups[2].Value : string.Empty;

11.过滤所有Html代码的方法
[C#] 纯文本查看 复制代码
/// <summary>
        /// 过滤html标签
        /// </summary>
        /// <param name="strHtml">html的内容</param>
        /// <returns></returns>
        public static string StripHTML(string stringToStrip)
        {
            // paring using RegEx           //
            stringToStrip = Regex.Replace(stringToStrip, "</p(?:\\s*)>(?:\\s*)<p(?:\\s*)>", "\n\n", RegexOptions.IgnoreCase | RegexOptions.Compiled);
            stringToStrip = Regex.Replace(stringToStrip, "<br(?:\\s*)/>", "\n", RegexOptions.IgnoreCase | RegexOptions.Compiled);
            stringToStrip = Regex.Replace(stringToStrip, "\"", "''", RegexOptions.IgnoreCase | RegexOptions.Compiled);
            stringToStrip = StripHtmlXmlTags(stringToStrip);
            return stringToStrip;
        }

        private static string StripHtmlXmlTags(string content)
        {
            return Regex.Replace(content, "<[^>]+>", "", RegexOptions.IgnoreCase | RegexOptions.Compiled);
        }

使用访求
[C#] 纯文本查看 复制代码
string str = StripHTML(html);

12.验证IP地址的正则表达式

13.验证身份证15位和18位
[C#] 纯文本查看 复制代码
\d{17}[\d|X]|\d{15}

14.验证URL
[C#] 纯文本查看 复制代码
http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

15.验证电子邮件
[C#] 纯文本查看 复制代码
\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

16.验证固定电话
[C#] 纯文本查看 复制代码
(\(\d{3}\)|\d{3}-)?\d{8}

17.邮编
[C#] 纯文本查看 复制代码
\d{6}


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
沙发
发表于 2013-4-28 00:01:16 | 只看该作者
正在学习正则,据说要好长时间会学会。
板凳
 楼主| 发表于 2013-4-28 08:09:39 | 只看该作者
菩提树 发表于 2013-4-28 00:01
正在学习正则,据说要好长时间会学会。

用着学着就行了,不用一下子全学会
地板
发表于 2013-6-6 16:28:06 | 只看该作者
我也分享一个吧,获取网页关键词和描述(自己写的,希望有高手过来帮忙优化下):
  1. <meta\s*(content=[""']?(.*?)[""']?\s*name=[""']?(.*?)[""']?)\s*[/]?>|(name=[""']?(.*?)[""']?\s*content=[""']?(.*?)[""']?)\s*[/]?>
复制代码
5
发表于 2014-7-27 14:57:03 | 只看该作者
受教了,学习中……O(∩_∩)O哈哈~我第一次学的时候把它当成颜文字了
6
发表于 2014-10-27 07:23:48 | 只看该作者
感谢您的无私奉献,真是帮了我的大忙了
7
发表于 2021-1-19 21:53:07 | 只看该作者
牛逼,膜拜大佬门
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-16 04:13

© 2014-2021

快速回复 返回顶部 返回列表