仓酷云

标题: ASP.NET网页设计关于脏字典过滤成绩-用正则表达式来过... [打印本页]

作者: 只想知道    时间: 2015-1-16 22:45
标题: ASP.NET网页设计关于脏字典过滤成绩-用正则表达式来过...
也许C#刚上市的时候有些抄袭Java吧,但自从C#2.0上市之后,整个局面就扭转乾坤了,不但Java在模仿C#,而且他从来都没能跟得上C#的脚步。数据|成绩|正则办法一:利用正则表达式
1//脏字典数据寄存文件路径
2privatestaticstringFILE_NAME="zang.txt";
3//脏数据字典表,如:脏数据一|脏数据二|脏数据三
4publicstaticstringdirtyStr="";
5
6publicValidDirty()
7{
8if(HttpRuntime.Cache["Regex"]==null)
9{
10dirtyStr=ReadDic();
11//用于检测脏字典的正则表达式
12RegexvalidateReg=newRegex("^((?!"+dirtyStr+").(?<!"+dirtyStr+"))*$",RegexOptions.Compiled|RegexOptions.ExplicitCapture);
13HttpRuntime.Cache.Insert("Regex",validateReg,null,DateTime.Now.AddMinutes(20),TimeSpan.Zero);
14}
15
16}
17privatestringReadDic()
18{
19FILE_NAME=Environment.CurrentDirectory+""+FILE_NAME;
20
21if(!File.Exists(FILE_NAME))
22{
23Console.WriteLine("{0}doesnotexist.",FILE_NAME);
24return"";
25}
26StreamReadersr=File.OpenText(FILE_NAME);
27Stringinput="";
28while(sr.Peek()>-1)
29{
30input+=sr.ReadLine();
31}
32
33sr.Close();
34returninput;
35
36}
37
38
39publicboolValidByReg(stringstr)
40{
41Regexreg=(Regex)HttpRuntime.Cache["Regex"];
42returnreg.IsMatch(str);
43
44}
感到这类办法的实行效力不是很高,复杂的测试了一下1000字的文章,脏字典有800多个关头字
式了一下是1.238秒,人人有无更好的办法,请不惜见教!
办法二:一般轮回查找办法
publicboolValidGeneral(stringstr)
{

if(!File.Exists(FILE_NAME))
{
Console.WriteLine("文件路径大概文件路径不存在毛病信息");
returnfalse;
}
else
{
StreamReaderobjReader=newStreamReader(FILE_NAME,System.Text.Encoding.GetEncoding("gb2312"));
stringsLine="";
ArrayListarrText=newArrayList();
while(sLine!=null)
{
sLine=objReader.ReadLine();
if(sLine!=null)
arrText.Add(sLine);

}
objReader.Close();

foreach(stringsOutputinarrText)
{
string[]strArr=sOutput.Split(|);

for(inti=0;i<strArr.Length;i++)
{
if(str.IndexOf(strArr)!=-1)
{
returnfalse;
}

}

}
returntrue;
}
}
以下是测试的办法,有甚么成绩还人人请指出!
1DateTimet1=DateTime.Now;
2stringstr="213";
3str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
4str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
5str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
6str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
7str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
8str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
9str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
10str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
11str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
12str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
13str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
14str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
15str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
16str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
17str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
18str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
19str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
20str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
21str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
22str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
23str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
24str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
25str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
26str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
27str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
28str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
29str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
30str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
31str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
32str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
33str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
34str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
35str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
36str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
37str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
38str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
39str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
40str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
41str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
42str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
43str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
44str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
45str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
46str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
47str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
48str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
49str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
50str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
51str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
52str+="爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋爱惜水晶之恋";
53ValidDirtyvd=newValidDirty();
54Console.WriteLine(vd.ValidByReg(str));
55DateTimet2=DateTime.Now;
56TimeSpants=t2-t1;
57Console.WriteLine(ts.TotalMilliseconds);
58Console.Read();
算法

检索文本文件长度/泯灭工夫(ms)

正则算法

10个汉字/980
100个汉字/999
1000个汉字/1234
一般算法

10个汉字/234
100个汉字/234
1000个汉字/265

C#中有两处地方用到new关键字,第一处也是最常见的一处是用在调用构造函数的时候,这种情况也是大家见的最多的一种。另一处是用在派生类中,作用有隐藏成员,切断继承关系等,相信第二处的用法大家明显要比第一处生疏。
作者: 再现理想    时间: 2015-1-19 16:28
我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。
作者: 简单生活    时间: 2015-1-24 14:30
在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?
作者: 不帅    时间: 2015-2-1 16:51
ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。
作者: 飘灵儿    时间: 2015-2-7 10:04
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
作者: 飘飘悠悠    时间: 2015-2-21 15:49
可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
作者: 只想知道    时间: 2015-3-6 20:22
这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。
作者: 若天明    时间: 2015-3-13 08:09
PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。
作者: 仓酷云    时间: 2015-3-13 08:09
那么,ASP.Net有哪些改进呢?
作者: 分手快乐    时间: 2015-3-20 17:22
ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2