正则表达式

1.使用句点匹配单字符

句点”.“可以匹配任意字符。

例如:

如果要匹配一个字符串,以beg开头,中间夹一个任意字符,那么可以表示为beg.n

在ls -l命令中,可以匹配一定的权限 ...x..x..x : ls -l |grep ...x..x..x

 

2.在行首以^匹配字符串或字符序列

^只允许在一行的开始匹配字符或单词

例如:

使用ls -l命令,并匹配目录:ls - l |grep ^d

可以将各种模式混合使用: ^...4XC.... 得到类似1234XC9088的结果

行首前4个字符为comp,匹配操作表示为 ^comp

 

3.在行尾以$匹配字符串或字符

$与^正好相反,它在行尾匹配字符串和字符,$符号放在匹配单词后

例如:

假定要匹配以单词trouble结尾的所有行,操作为:trouble$

匹配所有空行,操作为:  ^$

匹配只有一个字符的行: ^.$

 

4.使用*匹配字符串中的单子或其重复序列

使用此特殊字符匹配任意字符或字符串的重复多次表达式

例如:

compu*t将匹配字符u一次或多次,结果可能为computer,computing,compuuuuute

10133*匹配到:101333,10133,1013344444

 

5.使用\屏蔽一个特殊字符的含义

以下字符为特殊字符:$ . ' " * [] ^ | () \ + ?

假定要匹配包含字符” . “的各行,而.代表匹配任意单字符的特殊字符,因此需要屏蔽其含义:\. 

此时,反斜杠后面的字符为普通字符,句点

如果要匹配以*.pas结尾的所有文件,操作为:\*\.pas

 

6.使用[]匹配一个范围或集合

使用[]匹配特定字符串或字符串集,使用-表示一个字符串范围

例如:

匹配任意一个数字可以用:[0123456789]也可以用:[0-9]

任意小写字母[a-z]

任意字母[A-Za-z]

 

7.使用\{\}匹配模式结果出现的次数

使用*可匹配所有结果任意次,但是如果要指定次数,就应使用\{\},该模式有三种形式:

pattern\{n\}:匹配模式出现n次

pattern\{n,\}:匹配模式至少出现n次

pattern\{n,m\}:匹配模式出现n到m次之间

例如:

要匹配前4个字符是数字,接下来是xx,最后4个也是数字,操作为:[0-9]\{4\}xx[0-9]\{4\}

经常使用的正则表达式:

 

posted @ 2015-10-28 14:43  小音乐  阅读(221)  评论(0)    收藏  举报