元字符的总结:

1.在字符匹配中有以下几个元字符

. 在模式匹配中表示匹配除 \n 以外的任意单个字符(注意该元字符是一个点号);

[ ] 匹配指定集合中的任意单个字符

例 如 [abcde]  匹配 abcde 之中的任意一个字符 

[^ ] 匹配指定集合外的任意单个字符

例 如 [^fgh]  匹配任意一个不包括fgh的字符

2.匹配次数类别中有以下几个元字符

* 匹配其前面任意次(0次或1次或多次),记住,在这里要特别跟通配符作下比较(在通配符里 * 表示匹配任意长度的字符)

例如:grep 'x*y'

                    xy, xxy, xxxy, y

\? 匹配其前面的字符0次或是1次

例如:grep 'x\?y'

                 xy, aby

\+ 匹配其前面的字符至少1次

\{m\} 匹配其前面的字符m次
例如:grep 'x\{2\}y'

Xxy

\{m,n\} 匹配其前面的字符至少m次,之多m次

\{m,\} 匹配其前面的字符至少m次,没有上限

\{0,m\} 匹配其前面的字符字符之多m次

 

3.组合类别,有以下几个元字符:

.* 匹配任意长度的任意字符

4.位置锚定类别,有以下几个元字符:

^ 行首锚定(写在模式最左侧)

$ 行尾锚定(写在模式最右侧)

^$ 空白行

\< 词首锚定或是 \b

(出现在要查找的单词模式的左侧:\<char)

\> 词尾锚定

(出现在要查找的单词模式的左侧:char\>)

\< pattern\> 匹配单词

5.分组:

\(\)

后向引用:模式中,如果使用\( \)实现了分组,在某行文本中,如果\( \)的模式匹配到的某内容,此内容后面的模式中,可以被引用模式 \1, \2 , \3…\n

\1 表示引用第1个左括号

\2 表示引用第2 个左括号

\3 表示引用第3个左括号

…….

\# 表示引用第#个左括号

 

 

 

 

posted on 2014-12-05 15:01  明远子  阅读(322)  评论(0编辑  收藏  举报