Chinaunix首页 | 论坛 | 博客
  • 博客访问: 59669
  • 博文数量: 26
  • 博客积分: 315
  • 博客等级: 二等列兵
  • 技术积分: 299
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-05 17:32
文章分类
文章存档

2014年(13)

2013年(3)

2012年(10)

我的朋友

分类: LINUX

2014-02-05 12:12:03

摘自:[美]Harley Hahn:Unix & Linux大学教程


十五、正则表达式

 

1)简介

正则式用来指定字符串的模式。

元字符        含义

.                   除新行字符外,匹配任意的单个字符

^                  锚:匹配行的开头

$                  锚:匹配行的结尾

\<                 锚:匹配单词的开头

\>                 锚:匹配单词的结尾

[list              ]             字符类:匹配list中的任何字符

[^list]           字符类:匹配不在list中的任何字符

()                  组:视为一个单独的单元

|                  交变:匹配选项之一

\                   引用:从字面意思解释元字符

正则表达式:基本匹配

 

2)正则表达式:重复运算符

运算符        含义

*                  匹配0次或多次

+                  匹配1次或多次

?                  匹配0次或1

{n}                限定:匹配n

{n,}               限定:最少匹配n

{0,m}           限定:最多匹配m

{,m}             限定:最多匹配m

{n,m}           最少匹配n次,最多匹配m

 

3)正则表达式:预定义字符类

                              含义                           类似于(c排序序列)

[:lower]                     小写字母                       a-z

[:upper:]                    大写字母                      A-Z

[:alpha:]                     大小定字母                   A-Za-z

[:alnum:]                   大小定字母和数字           A-Za-z0-9

[:digit:]                      数字                            0-9

[:punct:]                     标点符号

[:blank:]                     空格或制表符

 

4)基本和扩展正则表达式(BREERE

扩展正则表达式             基本正则表达式                     含义

{}                                       \{\}                                            定义一个限定(花括号)

()                                       \(\)                                            定义一个组(圆括号)

?                                       \{0,1\}                                       匹配0次或1

+                                       \{1,\}                                         匹配1次或多次

|                                                                                    交变:匹配选项之一

[:name]                                                                         预定义字符类

 

5)预定义字符类:范围

理解复杂正则表达式的技巧就是记住每个字符类——不管它看上去多么复杂——只表示一个单独的字符。

 

 

阅读(352) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~