- 论坛徽章:
- 0
|
[color="#ff0000"]定义[color="#000000"]:当从一个文件命令输出中抽取或过滤文本时,可以使用正则表达式(RE),正则表达式是一些特殊或不很特殊的字符串模式的集合。例如,在一个文本中抽取一个词,它的头两个字符是大写,后面紧跟四个数字,不使用正则表达式,在shell中将不能实现。
[color="#800000"]基本元字符集及其含义
[color="#ff0000"]^ 只匹配行首
[color="#ff0000"]$ 只匹配行尾
[color="#ff0000"]* 一个单字符后紧跟*,匹配0个或多个此单字符
[color="#ff0000"][] 匹配[]内字符,可以是单字或字符序列,使用-表示范围,比如[1-255]
[color="#ff0000"]\ 转义字符,用于屏蔽一个元字符的特殊含义
[color="#ff0000"]. 匹配任意单字符
[color="#ff0000"]pattern\{n\} 用来匹配前面pattern出现次数,n为次数
[color="#ff0000"]pattern\{n,\}m 含义同上,但次数最少为n
[color="#ff0000"]pattern\{n,m\} 含义同上,但pattern出现的次数在n,m之间
.匹配任意单字符: “.”允许匹配ASCII集中任意字符,或为字母,或为数字
例 ls -l ...x..x..x
^在行首以^匹配字符串或字符序列: 例 ls -l |grep ^d 列出目录
$在行尾以$匹配字符串或字符: ^$匹配空行 ^.$只包含一个字符的行
使用\{\}匹配模式结果出现的次数:
A\{2\}B 匹配结果为AAB
A\{2,\}B 匹配A至少4次,比如AAAAB,AAAAAB,AAAAAAAAAAB等
A\{2,4\}B 匹配结果为A出现2-4次,AAB,AAAB,AAAAB
[0-9]\{4\}xx[0-9]\{4\} 前4个字符是数字,接下来是xx,最后4个也是数字
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/75321/showart_1164413.html |
|