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

Regular Expression心得体会

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

 

Expresso提供了一个功能,它可以将所下的RE变成树状的说明,一组组的分开说明,提供了一个好的除错环境。其它的功能,如部分符合(Partial Match只查找反白RE的部分)及除外符合(Exclude Match只不查找反白RE的部分)就留给各位大大试试啰。

当次描述用括号群组起来时,符合次描述的文字可用在之后的程序处理或RE本身。在预设的情型下,所符合的群组是由数字命名,由1开始,由顺序是由左至右,这自动群组命名,可在Expresso中的skeleton viewresult view中看到。

Backreference是用来查找群组中抓取的符合文字所相同的文字。举例来说”\1”所指符合群组1所抓取的文字。

20. \b(\w+)\b\s*\1\b (寻找重复字,此处说的重复是指同样的字,中间有空白隔开如dog dog这样的字)
(\w+)
会抓取至少一个字符的字母或数字的字,并将它命名为群组1,之后是查找任意空格符,再接和群组1相同的文字。

如果不喜欢群组自动命名的1,也可以自行命名,以上述例子为例,(\w+)改写为(?<Word>\w+),这就是将所抓取的群组命名为WordBackreference就要改写成为\k<Word>

21. \b(?<Word>\w+)\b\s*\k<Word>\b (使用自行命名群组抓取重复字)

使用括号还有许多特别的语法元素,比较通用的列表如下:
抓取(Captures) 
(exp) 
符合exp并抓取它进自动命名的群组
(?<name>exp) 
符合exp并抓取它进命名的群组name
(?:exp) 
符合exp,不抓取它
Lookarounds 
(?=exp) 
符合字尾为exp的文字
(?<=exp) 
符合前缀为exp的文字
(?!exp) 
符合后面没接exp字尾的文字
(?<!exp) 
符合前面没接exp前缀的文字
批注Comment 
(?#comment) 
批注

Positive Lookaround
接下来要谈的是lookaheadlookbehind assertions。它们所查找的是目前符合之前或之后的文字,并不包含目前符合本身。这些就如同”^””\b”特殊字符,本身并不会对应任何文字(用来界定位置),也因此称做是zero-width assertions,看些例子也许会清楚些。

(?=exp)是一个”zero-width positive lookahead assertion”。它指的就是符合字尾为exp的文字,但不包含exp本身。
22. \b\w+(?=ing\b) (
字尾为ing的字,比如说filling所符合的就是fill)
(?<=exp)
是一个”zero-width positive lookbehind assertion”。它指的就是符合前缀为exp的文字,但不包含exp本身。
23. (?<=\bre)\w+\b (
前缀为re的字,比如说repeated所符合的就是peated)
24. (?<=\d)\d{3}\b (
在字尾的三位数字,且之前接一位数字)
25. (?<=\s)\w+(?=\s) (
由空格符分隔开的字母数字字符串)

 

Negative Lookaround
之前有提到,如何查找一个非特定或非在特定群组的字符。但如果只是要验证某字符不存在而不要对应这些字符进来呢?举个例子来说,假设要查找一个字,它的字母里有q但接下来的字母不是u,可以用下列的RE来做。

26. \b\w*q[^u]\w*\b (一个字,其字母里有q但接下来的字母不是u)
这样的RE会有一个问题,因为[^u]要对应一个字符,所以若q是字的最后一个字母,[^u]这样的下法就会将空格符对应下去

上一页  [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……
    咸宁网络警察报警平台