zoukankan      html  css  js  c++  java
  • [原创]正则匹配

    var strHref = top.document.location.href;
    var regu = "OriginalPic";
    var re = new RegExp(regu);
        if (strHref.search(re) != -1) {
           “have”;
        }

    以上是JS的包含正则 ,search 确定一个字符串是否包含另外一段字符

    ------------------------------------------------------------------

    C#的正则表达式

    代码
    html = "5800XM报价5480</a> <span>2008-11-11 </span></li><li><i>[<a href=\"http://yn.it168.com\">云南</a>]</i> <a title=\"[昆明]昆明十一月份最受关注十大手机\" href=\"http://publish.it168.com/2008/1130/20081130005201.shtml\">[昆明]";


     
    string zhengze = "<div class=\"tit9\">(.+?)</div>";
    Match m 
    = Regex.Match(html, zhengze);  //正则匹配 
    if (!string.IsNullOrEmpty(m.Groups[1].Value)){}

     去图片的正则也可以简化一下 <img\s[^<>]*?>

    过滤所有HTML标签

    代码
            html = System.Text.RegularExpressions.Regex.Replace(html, "&lt;[^&gt;]*&gt;""", RegexOptions.IgnoreCase); 
                html 
    = System.Text.RegularExpressions.Regex.Replace(html, "<[^>]*>""", RegexOptions.IgnoreCase);  
                
    return html;

     过滤所有换行

    代码
            /// <summary>
            /// 别换行 
            /// </summary>
            /// <param name="html"></param>
            /// <returns></returns>
            private static string NonrBr(string html)
            { 
                html 
    = Regex.Replace(html, @"[\n\r]""");
                html 
    = html.TrimEnd((char[])"\n\r".ToCharArray());
                
    return html;
            }

    还有一些常用的处理

    代码
      private static void regexReplaceFilter(ref string answerStr)
            {
                MatchCollection mc 
    = null;
                
    string zhengZe = "";
                
    //去链接
                zhengZe = "<a[^>]*?href=[^>]*?>";
                mc 
    = Regex.Matches(answerStr, zhengZe);
                
    foreach (Match var in mc)
                {
                    answerStr 
    = answerStr.Replace(var.Value, "");
                }
                
    //去图片
                zhengZe = @"<img\b[^<>]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?<imgUrl>[^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>";
                mc 
    = Regex.Matches(answerStr, zhengZe);
                
    foreach (Match var in mc)
                {
                    answerStr 
    = answerStr.Replace(var.Value, "");
                }
                
    //去网址
                zhengZe = @"http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>])*";
                mc 
    = Regex.Matches(answerStr, zhengZe);
                
    foreach (Match var in mc)
                {
                    answerStr 
    = answerStr.Replace(var.Value, "");
                }
                
    //去QQ
                zhengZe = @"[1-9]\d{4,8}";
                mc 
    = Regex.Matches(answerStr, zhengZe);
                
    foreach (Match var in mc)
                {
                    answerStr 
    = answerStr.Replace(var.Value, "");
                }
                
    //去电话  
                zhengZe = @"((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}";
                mc 
    = Regex.Matches(answerStr, zhengZe);
                
    foreach (Match var in mc)
                {
                    answerStr 
    = answerStr.Replace(var.Value, "");
                }

                
    //去手机 
                zhengZe = @"((\(\d{3}\))|(\d{3}\-))?13\d{9}";
                mc 
    = Regex.Matches(answerStr, zhengZe);
                
    foreach (Match var in mc)
                {
                    answerStr 
    = answerStr.Replace(var.Value, "");
                }
            }
  • 相关阅读:
    Java之修改文件内容:字符串逐行替换
    Java之"instanceof"和"isInstance"代码举例
    spring之跨模块引用配置文件
    Java之相对路径找不到文件问题解决方法
    html 页面模块的常用命名
    移动端资源集锦
    手机web不同屏幕字体大小高度自适应
    meta标签整理
    css文字超出自动显示省略号
    display:inline、block、inline-block的区别
  • 原文地址:https://www.cnblogs.com/jacd/p/1756303.html
Copyright © 2011-2022 走看看