下载此文档

Tcl正则表达式详解.docx


文档分类:IT计算机 | 页数:约16页 举报非法文档有奖
1/16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/16 下载此文档
文档列表 文档介绍
今天想用正则表达式来获取收到的http报文中的content-length字段的值的时候,无意中发现一篇用tcl语言写的文章,觉得很不错。所以转载。
一、     介绍
追根溯源,正则表达式是在1956年的时候,人类最早研究神经网络的产物,但随着时间的流逝,几乎所有编程语言都加入了对它的支持,hoho~其实这个东西也是程序员开发中比较有名的一个难点。但是不要以为它只能用于程序开发,在Unix/Linux系统管理中它也有极为广泛的应用。
不要认为正则表达式很可怕,用直白的话来说,正则表达式就是利用26个英文字符与一些特殊符号的配合来进行文字内容比对的方法,绝大部分情况下,26个英文字符都代表它们本身,但在特殊符号的辅助下,这些英文字符也会有其他的含义,正则表达式比较困难的地方,也就在这种字符的2义性上面,这篇文档中对于这种具有字符2义性的地方,都会有专门的标注和说明。
如果用过Dos/Windows/Linux中的通配符,就可以理解正则表达式的作用了,通配符用*号匹配任意多的任意字符,用?号匹配任意的一个字符,正则表达式有更加复杂的一套匹配系统,可以用来匹配几乎所有希望匹配的文字内容。
二、     文档约定
本文档中的所有实例,都是在以下环境中调试和运行的:
操作系统:             (Linux -11)
编程语言:           
文本编辑器:         
文档格式约定:
实例的解释性文字,使用华文楷体小四号蓝色字体显示
 
实例的解释性文字
 
系统或程序输出,使用浅蓝色底纹表示
系统或者程序输出
 
 
特别需要注意和标注的地方,将以笑脸符号专门表示
   ☺ 看我可爱吗?
三、     基本正则表达式
正则表达式中,26个英文字符代表它们本身,但是下面表格中的特殊字符则赋予了更多不同的含义,一定要记住它们,因为它们是一切正则表达式的基础
特殊字符
简要说明
.
一个点,匹配任意一个字符
*
星号,匹配前面模式中的零个或者任意个
+
加号,匹配前面模式中的一个或者任意个
?
问号,匹配前面模式中的零个或者一个
()
括号,创建一个子模式
|
竖号,交替匹配
[]
中括号,用来表示一个区间
^
尖号,将一个模式挂靠在要匹配的字符串的最前面
$
美元号,将一个模式挂靠在要匹配的字符串的最后面
别看基本正则表达式就是这么9个符号,但是想完全理解和用好它们,还是很困难的,为了加深理解,我来详细的说明一下,这也是我自己学****时的理解和心得,请仔细的阅读。
这些符号的作用需要多方位理解,我大概是根据符号所属的类型以及它们所起的作用这2个方向来理解它们的。
按照类型划分,上面表格中的特殊字符分为几个类型:
字符关键字:
这部分关键字包括26个英文字符(上面的表格没有列出来)。这些关键字的特点就是它们匹配自身。
数量关键字:
这部分关键字包括 . (点) * (星号) + (加号) ? (问号)这4个关键字,这中间 . (点)这个关键字稍微特殊一点,因为它有2个作用:既可以作为字符关键字表示任何字符,又可以作为数量关键字代表1个字符。
 
【任何字符】这个含义很深,因为——空字符也算任何字符,也就是说一个点可以表示有一个字符,也可以表示没有字符,这个概念是新手很容易犯错的地方。
数量关键字本身没有任何用处,它必须和【模式】这个概念一起共同作用,在正则表达式中,【模式】可以说是最为核心也最为广泛的内容。总体来说,模式就是用来表示自己想匹配字符的方法,但实际上模式的概念要更为复杂和广泛,这部分内容我会在后面有更详细的描述,就现在来说,你只要理解,数量关键字必须与模式一起共用就可以了。
模式关键字:
() (括号) | (竖号) [] (中括号) ^ (尖号) $ (美元号)这5个符号都属于模式关键字,它们要么代表模式本身(括号、竖号、中括号),要么作用于模式为模式提供其他更高级的功能(尖号、美元号)。
 
现在,我们从另一个角度来看这些关键字,下面的内容,详细说明这9个关键字所起的作用以及实际表达方法,这部分会有一些比较详细的说明和实例,但是在此之前,我们必须了解一下什么是模式:
 
什么是模式?
模式就是一组用来匹配字符的关键字集合,一个最小的模式只有一个关键字,而大的模式则可以有无数个关键字:
A      这是一个模式,代表A这个字符本身
A+     这也是一个模式,代表一个或者任意多个A字符
正则表达式中,数量关键字都是作用于左边模式的,上面的例子中,A是一个没有数量关键字的模式,而A+中的+号就向左作用于前面这个A模式,如果没有

Tcl正则表达式详解 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数16
  • 收藏数0 收藏
  • 顶次数0
  • 上传人1541767549
  • 文件大小0 KB
  • 时间2015-11-25
最近更新