欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

asp.net 臟字典過(guò)濾問(wèn)題 用正則表達(dá)式來(lái)過(guò)濾臟數(shù)據(jù)

 更新時(shí)間:2009年10月25日 10:13:01   作者:  
asp.net 臟字典過(guò)濾問(wèn)題 用正則表達(dá)式來(lái)過(guò)濾臟數(shù)據(jù)
方法一:使用正則表達(dá)式
復(fù)制代碼 代碼如下:

//臟字典數(shù)據(jù)存放文件路徑
private static string FILE_NAME="zang.txt";
//臟數(shù)據(jù)字典表,如:臟數(shù)據(jù)一|臟數(shù)據(jù)二|臟數(shù)據(jù)三
public static string dirtyStr="";

public ValidDirty()
{
if (HttpRuntime.Cache["Regex"]==null)
{
dirtyStr=ReadDic();
//用于檢測(cè)臟字典的正則表達(dá)式
Regex validateReg= new Regex("^((?!"+dirtyStr+").(?<!"+dirtyStr+"))*$",RegexOptions.Compiled|RegexOptions.ExplicitCapture);
HttpRuntime.Cache.Insert("Regex" ,validateReg,null,DateTime.Now.AddMinutes(20) ,TimeSpan.Zero);
}

}
private string ReadDic()
{
FILE_NAME=Environment.CurrentDirectory+"\\"+FILE_NAME;

if (!File.Exists(FILE_NAME))
{
Console.WriteLine("{0} does not exist.", FILE_NAME);
return "";
}
StreamReader sr = File.OpenText(FILE_NAME);
String input="";
while (sr.Peek() > -1)
{
input += sr.ReadLine() ;
}

sr.Close();
return input;

}


public bool ValidByReg(string str)
{
Regex reg=(Regex)HttpRuntime.Cache["Regex"];
return reg.IsMatch(str) ;

}

感覺(jué)這種方法的執(zhí)行效率不是很高,簡(jiǎn)單的測(cè)試了一下 1000字的文章,臟字典有800多個(gè)關(guān)鍵字
式了一下是 1.238秒,大家有沒(méi)有更好的方法,請(qǐng)不吝賜教!

方法二:普通循環(huán)查找方法
復(fù)制代碼 代碼如下:

public bool ValidGeneral(string str)
{

if(!File.Exists(FILE_NAME))
{
Console.WriteLine("文件路徑或者文件路徑不存在錯(cuò)誤信息") ;
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;

}

}

以下是測(cè)試的方法,有什么問(wèn)題還大家請(qǐng)指出!
復(fù)制代碼 代碼如下:

DateTime t1 =DateTime.Now;
string str="213";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
str+="珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀珍惜水晶之戀";
ValidDirty vd=new ValidDirty() ;
Console.WriteLine(vd.ValidByReg(str)) ;
DateTime t2 =DateTime.Now;
TimeSpan ts=t2-t1;
Console.WriteLine(ts.TotalMilliseconds) ;
Console.Read() ;

算法

檢索文本文件長(zhǎng)度 / 耗費(fèi)時(shí)間(ms)

正則算法

10個(gè)漢字/ 980

100個(gè)漢字/999

1000個(gè)漢字/1234

普通算法

10個(gè)漢字/ 234

100個(gè)漢字/234

1000個(gè)漢字/265

臟字典下載
不過(guò)這篇文章有可能有一些問(wèn)題,建議看下下面2篇文章再?zèng)Q定使用。

相關(guān)文章

  • .Net彈性和瞬態(tài)故障處理庫(kù)Polly介紹

    .Net彈性和瞬態(tài)故障處理庫(kù)Polly介紹

    這篇文章介紹了.Net彈性和瞬態(tài)故障處理庫(kù)Polly,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • ASP.NET操作Excel備忘錄

    ASP.NET操作Excel備忘錄

    ASP.NET下操作Excel的一些技巧分析,需要的朋友可以參考下。
    2010-01-01
  • 獲取App.config配置文件中的參數(shù)值

    獲取App.config配置文件中的參數(shù)值

    這篇文章介紹了獲取app.config配置文件中的參數(shù)值方法,首先是要添加System.Configuration引用,其次類文件中必須有 using System.Configuration;再次App.config添加,最后向App.config配置文件添加參數(shù),下面通過(guò)列子給大家講解下,需要的朋友可以參考下
    2015-07-07
  • asp.net core利用AccessControlHelper實(shí)現(xiàn)控制訪問(wèn)權(quán)限

    asp.net core利用AccessControlHelper實(shí)現(xiàn)控制訪問(wèn)權(quán)限

    這篇文章主要給大家介紹了關(guān)于asp.net core利用AccessControlHelper實(shí)現(xiàn)控制訪問(wèn)權(quán)限的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用asp.net core具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 記一次EFCore類型轉(zhuǎn)換錯(cuò)誤及解決方案

    記一次EFCore類型轉(zhuǎn)換錯(cuò)誤及解決方案

    這篇文章主要介紹了記一次EFCore類型轉(zhuǎn)換錯(cuò)誤及解決方案,幫助大家更好的理解和學(xué)習(xí)使用asp.net core,感興趣的朋友可以了解下
    2021-03-03
  • aspx實(shí)現(xiàn)的 jquery ui 的 flexgrid demo

    aspx實(shí)現(xiàn)的 jquery ui 的 flexgrid demo

    這幾天沒(méi)事研究著jquery,真是個(gè)好東西,慢慢的知道了有jquery ui,一開(kāi)始就被華麗的界面和簡(jiǎn)單的操作給吸引了,尤其是里面的flexgrid,對(duì)我而言可以說(shuō)是非常寶貴的東西
    2009-12-12
  • asp.net request.PathInfo實(shí)現(xiàn)的url重寫

    asp.net request.PathInfo實(shí)現(xiàn)的url重寫

    最近對(duì)在開(kāi)始研究url重寫,對(duì)重寫的原理以及重寫之后引起的性能問(wèn)題是研究的重點(diǎn),研究過(guò)程中發(fā)現(xiàn)了一種輕便的“url重寫方案”
    2009-04-04
  • ASP.NET 連接ACCESS數(shù)據(jù)庫(kù)的簡(jiǎn)單方法

    ASP.NET 連接ACCESS數(shù)據(jù)庫(kù)的簡(jiǎn)單方法

    一段非常簡(jiǎn)單的連接ACCESS數(shù)據(jù)庫(kù)的實(shí)例代碼,有需要的朋友可以參考一下
    2013-07-07
  • ASP.NET Core緩存靜態(tài)資源示例詳解

    ASP.NET Core緩存靜態(tài)資源示例詳解

    我們?cè)趦?yōu)化Web服務(wù)的時(shí)候,對(duì)于靜態(tài)的資源文件,通常都是通過(guò)客戶端緩存、服務(wù)器緩存、CDN緩存,這三種方式來(lái)緩解客戶端對(duì)于Web服務(wù)器的連接請(qǐng)求壓力的。下面這篇文章主要給大家介紹了關(guān)于ASP.NET Core緩存靜態(tài)資源的相關(guān)資料,需要的朋友可以參考下。
    2018-02-02
  • .Net Core官方JWT授權(quán)驗(yàn)證的全過(guò)程

    .Net Core官方JWT授權(quán)驗(yàn)證的全過(guò)程

    這篇文章主要給大家介紹了關(guān)于.Net Core官方JWT授權(quán)驗(yàn)證的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評(píng)論