<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      關于臟字典過濾問題-用正則表達式來過濾臟數據


      方法一:使用正則表達式

       1//臟字典數據存放文件路徑
       2        private static string FILE_NAME="zang.txt";
       3        //臟數據字典表,如:臟數據一|臟數據二|臟數據三
       4        public static string dirtyStr="";
       5        
       6        public ValidDirty()
       7        {
       8            if (HttpRuntime.Cache["Regex"]==null)
       9            {
      10                dirtyStr=ReadDic();
      11                //用于檢測臟字典的正則表達式
      12                Regex validateReg= new Regex("^((?!"+dirtyStr+").(?<!"+dirtyStr+"))*$",RegexOptions.Compiled|RegexOptions.ExplicitCapture);    
      13                HttpRuntime.Cache.Insert("Regex" ,validateReg,null,DateTime.Now.AddMinutes(20) ,TimeSpan.Zero);
      14            }

      15            
      16        }

      17        private string ReadDic()
      18        {
      19            FILE_NAME=Environment.CurrentDirectory+"\\"+FILE_NAME;
      20
      21            if (!File.Exists(FILE_NAME)) 
      22            {
      23                Console.WriteLine("{0} does not exist.", FILE_NAME);
      24                return "";
      25            }

      26            StreamReader sr = File.OpenText(FILE_NAME);
      27            String input="";
      28            while (sr.Peek() > -1
      29            {
      30                input += sr.ReadLine() ;
      31            }

      32            
      33            sr.Close();
      34            return input;
      35
      36        }

      37
      38        
      39        public bool ValidByReg(string str)
      40        {
      41            Regex reg=(Regex)HttpRuntime.Cache["Regex"];
      42            return reg.IsMatch(str) ;
      43            
      44        }


      感覺這種方法的執行效率不是很高,簡單的測試了一下 1000字的文章,臟字典有800多個關鍵字
      式了一下是 1.238秒,大家有沒有更好的方法,請不吝賜教!

      方法二:普通循環查找方法

          public bool ValidGeneral(string str)
              
      {
                  
                  
      if(!File.Exists(FILE_NAME))
                  
      {
                      Console.WriteLine(
      "文件路徑或者文件路徑不存在錯誤信息") ;
                      
      return false;
                  }

                  
      else
                  
      {
                      StreamReader objReader 
      = new StreamReader(FILE_NAME,System.Text.Encoding.GetEncoding("gb2312"));
                      
      string sLine="";
                      ArrayList arrText 
      = new ArrayList();

                      
      while (sLine != null)
                      
      {
                          sLine 
      = objReader.ReadLine();
                          
      if (sLine != null)
                              arrText.Add(sLine);
                          
                      }

                      objReader.Close();


                      
      foreach (string sOutput in arrText)
                      
      {
                          
      string[] strArr=sOutput.Split('|');
                          
                          
      for (int i = 0; i < strArr.Length; i++)
                          
      {
                              
      if (str.IndexOf(strArr[i])!=-1)
                              
      {
                                  
      return false;    
                              }

                              
                          }

                          
                      }

                      
      return true;

                  }


              }


      以下是測試的方法,有什么問題還大家請指出!

       1DateTime t1 =DateTime.Now;
       2            string str="213";
       3            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
       4            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
       5            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
       6            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
       7            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
       8            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
       9            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      10            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      11            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      12            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";    
      13            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      14            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      15            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      16            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      17            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      18            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      19            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      20            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      21            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      22            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      23            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      24            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      25            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      26            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      27            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      28            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      29            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      30            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      31            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      32            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      33            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      34            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      35            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      36            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      37            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      38            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      39            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      40            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      41            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      42            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      43            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      44            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      45            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      46            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      47            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      48            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      49            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      50            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      51            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      52            str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
      53            ValidDirty vd=new ValidDirty() ;
      54            Console.WriteLine(vd.ValidByReg(str))  ;
      55            DateTime t2 =DateTime.Now;
      56            TimeSpan ts=t2-t1;
      57            Console.WriteLine(ts.TotalMilliseconds) ; 
      58            Console.Read() ;

      算法

      檢索文本文件長度 / 耗費時間(ms

      正則算法

      10個漢字/ 980

      100個漢字/999

      1000個漢字/1234

      普通算法

      10個漢字/ 234

      100個漢字/234

      1000個漢字/265



      臟字典下載
      posted @ 2006-09-12 15:13  PointNet  閱讀(9764)  評論(29)    收藏  舉報
      主站蜘蛛池模板: 亚洲综合一区二区三区| 国产偷国产偷亚洲高清人| 国精品无码一区二区三区在线| av天堂久久精品影音先锋 | 国产成人高清亚洲综合| 国产精品无码专区| 亚洲成人av综合一区| 人妻av资源先锋影音av资源| 国产农村妇女aaaaa视频| 日韩一区二区三区东京热| 桃花岛亚洲成在人线AV| 午夜福利看片在线观看| 囯产精品久久久久久久久久妞妞| 成 人 色 网 站免费观看| 亚洲综合av一区二区三区| 中文字幕无码专区一VA亚洲V专| 在线精品视频一区二区| 伊川县| 免费人成网站免费看视频| 人妻中文字幕亚洲精品| 久久精品蜜芽亚洲国产AV| 免费极品av一视觉盛宴| 最新午夜男女福利片视频 | 亚洲高清WWW色好看美女| 精品国产亚洲区久久露脸| 商河县| av中文字幕在线二区| 国产午夜成人久久无码一区二区| 少妇无码AV无码专区| 国产视频有码字幕一区二区| 99久久99久久精品国产片| 国产成人精品亚洲精品密奴| 99riav国产精品视频| 正在播放的国产A一片| 8050午夜二级无码中文字幕| 欧美videos粗暴| 亚洲男人天堂一级黄色片| 国产综合久久99久久| 无套后入极品美女少妇| 国产粉嫩美女一区二区三| 国产农村激情免费专区|