Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 操作系统 > Windows98/ME > 了解正则表达式的语法
【标  题】:了解正则表达式的语法
【关键字】:
【来  源】:http://www.cublog.cn/u/26431/showart.php?id=228159

了解正则表达式的语法

Your Ad Here

元字符(.)可以作为通配符匹配任意单个字符。

元字符(*)用于与他前面的正则表达式的零个或多个出现匹配。星号元字符本身不匹配任何字符,它用于修改它前面的内容。正则表达式 .*匹配任意数目的字符。

 

 

元字符汇总

特殊字符

用途

.

匹配除换行符以外的任意单个字符。在awk中,句点也能匹配换行符。

*

匹配任意一个(包括零个)在它前面的字符(包括由正则表达式指定的字符)

[…]

匹配方括号中的字符类中的任意一个。如果方括号中第一个字符为脱字符号(^,则表示否定匹配,即匹配除了换行符和类中列出的那些字符范围的所有字符。在awk中,也匹配换行符。连字符(-)用于表示字符的范围。如果类中的第一个字符为右方括号( ] )则表示她是类成员。所有其它的原字符在被指定为类中的成员时都会失去它本身的含义。

^

如果作为正则表达式的第一个字符,则表示匹配行的开始。在awk中匹配字符串的开始,即使字符串包含嵌入的换行符。

$

如果作为正则表达式的最后一个字符,则表示匹配行的结尾。在awk中匹配字符串的结尾,即使字符串包含嵌入的换行符。

\{m,n\}

匹配它前面某个范围内单个字符出现的次数(包括由正则表达式指定的字符)。\{n\}将匹配n次出现,\{n,\}至少匹配n次出现,而且\{m,n\}匹配nm之间任意次出现。

\

转义随后的特殊字符

 

扩展的元字符(egrepawk

特殊字符

用途

+

匹配前面的正则表达式的一次或多次出现

匹配前面的正则表达式的零次或一次出现

|

指定可以匹配其前面的或后面的正则表达式(替代方案)

()

对正则表达式分组

{n,m}

匹配它前面末各范围内单个字符出现的次数(包括由正则表达式指定的字符)。{n}表示将匹配n次出现,{n}至少匹配n次出现,{nm}匹配nm之间的任意次出现。

 

 

 

普遍存在的反斜杠

元字符反斜杠(\)将元字符转化成为普通字符(和将普通字符转化为元字符)。它强制将任意元字符解释为普通文字,以便匹配该字符本身。也可以使用反斜杠将一组普通字符解释为元字符。如:“ \n”结构中n表示从19之间的一个数字。

 

字符类

使用方括号元字符将字符列表括起来,其中每一个字符占据一个位置。文档可以

与在方括号内的任一字符匹配。字符类在处理大小写字母时非常有用。例如:[Ww]hat,指定what的大小写。下表列出方括号中具有特殊含义的字符。

 

字符

功能

\

转义任意特殊字符(只用于awk中)

-

当它不再第一个或最后一个位置时,表示一个范围

^

仅当在第一个位置时表示反转配置

POSIX字符类补充

POSIX标准对正则表达式字符和操作符的含义进行了形式化。这种标准定义了两类正则表达式:基本正则表达式(BER,grepsed使用这种正则表达式;扩展的正则表达式,egrepawk使用这种正则表达式。

POSIX标准提供了附加的字母序列,当匹配和调整(排序)字符串数据时,这些字符序列应该被作为单个单元看待。

POSIX还改变了常用的术语。一直成为“字符类”的东西在POSIX标准中称为“括号表达式”。在括号表达式中,除了字面字符(例如,a、!等)以外,还可以有其它标记。如下:

Ø         字符类:

[: :]包围的关键字组成的POSIX字符类。关键字描述了不同的字符类,例如,文字字符,控制字符等等

Ø         整理符号:  

整理符号是多字符的序列,表示这些字符应该被看作是一个单元。它由[..]包围的字符组成

Ø         等价类:

等价类列出了应该看作是等价的字符集,它由地区化的字符元素(由[==]包围)组成

所有的这3种结构都必须出现在括号表达式的方括号中。例如 [[:alpha:]!]匹配任意单个字母字符或感叹号,[[.ch.]]匹配整理元素ch,但不匹配字母c或字母h。在法语地区[[=e=]可以匹配任意eè或é     

 

匹配字符

[:alnum:]

可打印的字符(包括空白字符)

[:alpha:]

字母字符

[:blank:]

空格和制表符

[:cntrl:]

控制字符

[:digit:]

数字字符

[:graph:]

可打印的和可见的(非空格)字符

[:lower:]

小写字符

[:print:]

可打印的字符(包括空白字符)

[:punct:]

标点符号字符

[:space:]

空白字符

[:upper:]

大写字符

[:xdigit:]

十六进制数字

 

重复出现的字符

星号(*)元字符表示它前面的正则表达式可以出现零次或多次。也就是说,如果它修饰的单个字符,那么该字符可以在那里也可以不在那里,并且如果他在那里,那可能会不止出现一次。

当星号元字符前面有句点元字符时(贪婪模式),表示匹配任意数目的字符。可以用于标识两个固定的字符串之间的字符的跨度。可以匹配任意字符串。

星号用于修饰字符类时,则可以匹配类中的任意数目的字符。

可程式恒温恒湿试验箱:【上一篇】
求下联:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • DMM模式与jello框架的持久化机制
  • 韶山一日游
  • ActionScript循序渐进 三语句流程
  • 记录用户在登录后都输入了什么命令 (轉自CU)
  • 有Focus效果的提交信息表单(DIV+CSS)
  • ASP技巧累加
  • RSS阅读器制作之将TreeView数据导出为XML数据
  • 用iconv转换文件编码
  • 关闭钩子(shutdown hook)的作用
  • DFM 检验
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.