当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言:
 

 

    摘要: 小鸡射手在datagrid的使用实践中提到过datagrid的性能问题,现看到了微软dev411 asp.net:best practices for performance中有量化数据,摘录之。 平均而言:- datareader比dataset快16%- sqldatareader比oledbdatareader快115%- 下标引用比字段名引用快11%- 大小写匹配的字段名比大小写不匹配的字段名的快1%- 直接写script比datagrid快22......
    摘要:作者:james avery 翻译:lucentoff 出处:http://msdn.microsoft.com/msdnmag/issues/04/07/musthavetools/default.aspx 声明:版权属原作者所有,转载请注明出处! 版本切换和转换工具 在这一部分,我将介绍两个版本切换和转换工具,它们虽然简单,但极为有用。第一个工具是asp.net version switcher,它可以切换虚拟目录运行下的asp.net版本。第二个工具......


C#中的正则表达式(1)
  c#中的正则表达式

jeffrey e.f. friedl写了一本关于正则表达式的书«精通正则表达式»。作者为了使读者更好的理解与掌握正则表达式,编造了一个故事。该书的语言以perl为主。据我所知c#中的正则表达式也是基于perl5。所以它们应该有许多的共同之处。 【相关文章:Struts框架之构建Controlle

  【扩展阅读:C++从零开始(七)——何谓函数

  【扩展信息:触摸Java中的包和文档

其实,我并不打算原封不动的对该书的内容进行翻译,一则这本书内容太多了,我根本就不胜任翻译这项工作;二则如果我真的把这本书翻译过来,同时把里面的代码换成c#,在没有征得原作者的情况下,可能有侵权的嫌疑了。所以,权当作读书笔记好了。

略过冗长的前言,我们可以直接进入第一章:

 

介绍正则表达式

 

作者说这一章是为正则表达式的绝对菜鸟而准备的,目的是为以后的章节打下坚实的基础。那么如果你是不是菜鸟,你可以忽略这一章。

 

故事场景:

你的档案部的头儿想要一个工具用来检查重复的单词(如:this this),一个在大量编辑文档的时候通常会遇到的问题。你的工作就是创建一个解决方案:

接受任何数量要检查的文件,报告每个文件中带有重复单词的那些行,突出显示这些重复的单词,同时确保原文件名称与这些行出现在报表中。

跨行检查,找到一行的最后一个单词与下一行开头第一个单词出现重复的情况。

找出重复的单词,不管他们是否大小写不同(如:the the),以及允许在这些重复单词之间含有不同数量的空白字符(空格、制表符、新行等)

找出重复的单词,甚至这些单词被html标签隔开。(如:…it is <b>very</b> very important.)

 

要解决上述的实际问题,我们首先要做的就是写出正则表达式,找到我们想要的文本,忽略我们不需要的文本,然后使用我们的c#代码对获取的文本进行处理。

 

在使用正则表达式之前,你也许多少已经知道什么是正则表达式。甚至你不知道,你几乎可以肯定已经熟悉它的基本概念了。

你知道report.txt是一个具体的文件名称,但是如果你有任何unix或者dos/windows的经验,你也知道“*.txt”可以用来选择多个文件。这种形式的文件名,有一些字符有着特殊的含义。星号意味着匹配任何东西,问号意味着匹配一个字符。如:“*.txt”表示任何文件名以.txt结尾的文件。

文件名称得模式匹配,使用了有限的匹配符。还有当前网络上的搜索引擎也允许使用某些指定的匹配符来进行内容搜索。正则表达式采用丰富的匹配字符,可以处理各种复杂的问题。

 

首先我们介绍两个位置匹配符:

^ : 表示一行文字的开始位置

$ : 表示一行文字的结束位置

 


...   下一页
    摘要: 伴随着internet网络的一天天发展壮大,internet已经成为一个人们不可缺少的工具,而人们为了更有效的利用网络的技术能力,而努力将各式各样的信息以各种不同的方式汇入到这个的bit海洋中,而这个信息的海洋也变得超乎想象的巨大,人们现在被铺天盖地的信息所吞没,以至于感觉到象真正置身在大海中时的那种危险。我们无法简洁有效的利用这个资源,大量的信息垃圾使得分辩信息价值变得有如在深海中寻宝一样艰难。但事实上还有许多种类的信息没有进入或者正准备进入网络,但很......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE