您的位置:首页 > 运维架构 > Shell

linux bash shell 正则表达式

2013-08-06 11:21 375 查看
元字符

功能

示例

匹配对象

^

行首定位符

/^man/

匹配所有以man开头的行

$

行尾定位符

/man$/

匹配所有以man结尾的行

.

匹配单个字符

/m..n/

匹配包含一个m,后跟两个字符,再跟一个n的行

*

匹配0个或多个重复的位于星号前的字符

/*man/

匹配包含跟在0个或者多个空格的模式的man的行

[]

匹配一组字符中任一个

/[Mm]an/

匹配包含Man或man的行

[x-y]

匹配指定范围内的一个字符

/[A-Z]an/

匹配后面跟着an的一个A至Z之间的字符

[^]

匹配不在指定组内的字符

/[^A-Z]/

匹配不在范围A至Z之间的任意一个字符

\

用来转义元字符

/man\./

匹配包含man,后面跟一个点(如果不转义的话则是匹配一个任意字符)

\<

词首定位符

/\<man/

匹配包含以man开头的词的行(vi和grep支持)

\>

词首定位符

/man\>/

匹配包含以man结尾的词的行(vi和grep支持)

\(..\)

匹配稍后将要使用的字符的标签

s/\(man\)

acle/\1age/g

最多可以使用9个标签,模式中最左边的标签是第一个。例如,模式man被保存为标签1,用\1表示。左边这个例子中,查找manacle,把它替换成manage(sed、vi和grep支持)

x\{m\}或

x\{m,\}或

x\{m,n\}

字符x的重复出现:m次、至少m次、至少m次且不超过n次

n\{3,5\}

匹配包含3~5个连续的字母n的行<%
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: