转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件使用 >> 系统软件 >> 正文
Regular Expression心得体会         

Regular Expression心得体会

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2764 更新时间:2009/4/25 0:44:42

 

前言
Regular Expressions(
以下用RE称呼)对小弟来说一直都是神密的地带,看到一些网络上的大大,简单用RE就决解了某些文字的问题,小弟便兴起了学一学RE的想法,但小弟天生就比较懒一些,总希望看有没有些快速学习的方式,于是小弟又请出Google大神,藉由祂的神力,小弟在网络上找到了Jim Hollenhorst先生的文章,经过了阅读,小弟觉得真是不错,所以就做个小心得报告,跟Move-to.Net的朋友分享,希望能为各位大大带来一丁点在学习RE时的帮助。Jim Hollenhorst大大文章之网址如下,有需要的大大可直接连结。
The 30 Minute Regex Tutorial By Jim Hollenhorst
http://www.codeproject.com/useritems/RegexTutorial.asp

 

什么是RE?
想必各位大大在做文件查找的时侯都有使用过万用字符”*”,比如说想查找在Windows目录下所有的Word文件时,你可能就会用”*.doc”这样的方式来做查找,因为”*”所代表的是任意的字符。RE所做的就是类似这样的功能,但其功能更为强大。
   
写程序时,常需要比对字符串是否符合特定样式,RE最主要的功能就是来描述这特定的样式,因此可以将RE视为特定样式的描述式,举个例子来说,”\w+”所代表的就是任何字母与数字所组成的非空字符串(non-null string)。在.NET framework中提供了非常强大的类别库,藉此可以很轻易的使用RE来做文字的查找与取代、对复杂标头的译码及验证文字等工作。
 
学习RE最好的方式就是藉由例子亲自来做做看。Jim Hollenhorst大大也提供了一个工具程序Expresso(来杯咖啡吧),来帮助我们学习RE,下载的网址是
http://www.codeproject.com/useritems/RegexTutorial/ExpressoSetup2_1C.zip

接下来,就让我们来体验一些例子吧。

 

一些简单的例子
 
假设要查找文章中Elvis后接有alive的文字符串的话,使用RE可能会经过下列的过程,括号是所下RE的意思:
1. elvis (
查找elvis)
上述代表所要查找的字符顺序为elvis。在.NET中可以设定乎略字符的大小写,所以”Elvis””ELVIS”或者是”eLvIs”都是符合1所下的RE。但因为这只管字符出现的顺序为elvis,所以pelvis也是符合1所下的RE。可以用2RE来改进。
2. \belvis\b (
elvis视为一整体的字查找,如elvisElvis乎略字符大小写时)
“\b”
RE中有特别的意思,在上述的例子中所指的就是字的边界,所以\belvis\b\belvis的前后边界界定出来,也就是要elvis这个字。
假设要将同一行里elvis后接有alive的文字符串找出来,此时就会用到另外二个特别意义的字符”.””*””.”所代表就是除了换行字符的任意字符,而”*”所代表的是重复*之前项目直到找到符合RE的字符串。所以”.*”所指的就是除了换行字符外的任意数目的字符数。所以查找同一行里elvis后接有alive的文字符串找出来,则可下如3RE
3. \belvis\b.*\balive\b (
查找elvis后面接有alive的文字符串,如elvis is alive)
用简单之特别字符就可以组成功能强大的RE,但也发现当使用越来越多的特别字符时,RE就会越来越难看得懂了。

 

再看看另外的例子

 

组成有效的电话号码
假使要从网页上收集顾客格式为xxx-xxxx7位数字的电话号码,其中x是数字,RE可能会这样写。
4. \b\d\d\d-\d\d\d\d (
查找七位数字之电话号码,如123-1234)
每一个\d代表一个数字。”-”则是一般的连字符号,为避免太多重复的\dRE可以改写成如5的方式。
5. \b\d{3}-\d{4} (
查找七位数字电话号码较好的方法,如123-1234)
\d后的{3},代表重复前一个项目三次,也就是相等于\d\d\d

 

RE的学习及测试工具 Expresso

[1] [2] [3] [4] [5] [6]  下一页


[网络技术]2009年云南省信息技术会考考试系统培训心得体会上…  [网络技术]2009年云南省信息技术会考考试系统培训心得体会下…
[精彩网文]大学生励志:一位清华学子英语学习心得体会  [系统软件]Regular Expression 正则表达式-4 (C++)
[系统软件]Regular Expression 正则表达式-3 (C++)  [系统软件]Regular Expression 正则表达式-2 (Java)
[系统软件]Regular Expression 正则表达式-1 (C#)  [系统软件]The GRETA Regular Expression Template Archive
[系统软件]tomcat5下设置EL(expression language)  [系统软件]关于邮件地址的regular expression 问题
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · 办公软件  · 系统软件
    · 常用软件  · 聊天工具
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台