Linux学习笔记(15/24)-正则表达式

400阅读 0评论2014-02-05 luozs08
分类:LINUX

摘自:[美]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)预定义字符类:范围

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

 

 

上一篇: Linux学习笔记(14/24)-过滤器:选取、排序、组合及变换
下一篇:Linux学习笔记(16/24)-显示文件