一叶笑天
雄关漫道真如铁, 而今迈步从头越。 从头越, 苍山如海, 残阳如血。
posts - 73,comments - 7,trackbacks - 0
 

正则表达式元字符

元字符

功能

例子

匹配内容

^

行起始锚

/^love/

匹配所有以love开始的行

$

行结束锚

/love$/

匹配所有以love结束的行

.

匹配单字符

/l..e/

匹配行中包含l紧跟两个字符然后是e的行

*

匹配0个或者多个前导字符

/ *love/

匹配0个或者多个空格,紧跟love

[ ]

匹配集合中的一个

/[Ll]ove/

匹配行中包含love 或者Love

[x–y]

匹配一个范围集合中的一个字符

/[A–Z]ove/

匹配字符从A-Z紧跟着ove

[^ ]

匹配一个不在集合中的字符

/[^A–Z]/

匹配任意字符不在A Z之间

\

转义一个元字符

/love\./

匹配包含love,紧跟着.

其他的元字符支持

\<

单词开始锚

/\<love/

匹配行中含有单词以love开始 (supported by vi and grep)

\>

单词结束锚

/love\>/

匹配行包含单词以love结束 (supported by vi and grep)

\(..\)

标签匹配

/\(love\)able \1er/

可以使用到9个标签, 起始部分是模式。例如, 模式love被保存为标签1, 被后面引用为\1。在这个例子中,搜索模式包含lovable后紧跟lover (supported by sed, vi, and grep)

x\{m\} or

 

x\{m,\} or

 

x\{m,n\}

表示字母x出现m

表示字母x出现至少m

表示字母x至少出现m次,不超过n

o\{5,10\}

如果一行中含有连续出现5-10o字母 (supported by vi and grep)

例子3.1

/love/

模式love可以匹配自己和作为其他词的一部分匹配,例如lovelyglovesclover

例子3.2

/^love/

起始锚,匹配只能匹配以love开始的词。

例子3.3

/love$/

结束锚,匹配以love结束的词。

例子3.4

/l.ve/

.只能匹配一个字符。

例子3.5

/o*ve/

*匹配0到多个字符,比如love, loooove, lve

例子3.6

/[Ll]ove/

匹配Lovelove

例子3.7

/ove[a-z]/

[a-z]中的任何一个字符都可以匹配

例子3.8

/ove[^a-zA-Z0-9]/

匹配ove后跟的字符不在a-z,A-Z,0-9的字符

例子3.9

/^[A–Z]..$/

匹配起始为[A-Z]之间的字母,跟随两个任意字符,紧接着是一个新行。

/^[A–Z][a–z ]*3[0–5]/

匹配以大写字母开始,跟着0个或者多个小写字母或空格,跟随着数字3和另外一个在0-5之间的数字。

/[a–z]*\ ./

匹配包含0个或多个小写字母,跟着.

/^ *[A–Z][a–z][a–z]$/

匹配其实是0个或者多个空格(tab不能算作空格),跟着大写字母,两个小写字母和一个新行。

/^[A–Za–z]*[^,][A–Za–z]*$/

匹配0个或多个大写或小写字母跟着非逗号,然后紧跟着0个或者多个大写或小写字母结束

例子3.10

/\<fourth\>/

在每行上查找fourth这个单词,一个单词可以被空格分隔,结束于标点符号,起始于一行,结束于一行等等。

例子3.11

/\<f.*th\>/

匹配单词以f开始,跟着0个或者多个任意的字符,结束语th

例子3.12

1,$s/\([0o]ccur\)ence/\1rence/

搜索整个字符串occurrence或者Occurrence

例子3.13

:s/\(square\) and \(fair\)/\2 and \1/

将会匹配fair and square

 

例子3.14

/5\{2\}2\{3\}\./

匹配所有行中包含出现两次数字5,跟着出现三次数字2,跟着.

posted on 2008-07-09 11:21 一叶笑天 阅读(368) 评论(0)  编辑  收藏 所属分类: Shell技术

只有注册用户登录后才能发表评论。


网站导航: