1、正则表达式的meta字符: \ 转义符 . 匹配单个字符 * 匹配前一个字符(>=0) ^ 匹配紧接着的正则表达式,在行首位置 $ 匹配前面的正则表达式,在行尾位置 [] 匹配方括号里面的任意一个字符 \{n,m\}区域表达式,匹配在他前面的单个字符重现的次数 \{n\}表示出现n次, \{n,\}表示至少出现n次 \{,m\}表示最多出现m次 \( \) 将括号之间的模式存储在特殊的保留空间,最多9个 然后位后面重复相同模式的进行调用,如:\(ac\).*\1 会查找出achhehekehac的字符串 \n 通常与\( \)结合使用,1<n<=9 + 匹配前面的正则表达式的一个或多个实例 ? 匹配前面的正则表达式的零个或一个实例 | 匹配与|前或后的正则表达式 () 匹配于方括号括起来的正则表达式群 2、POSIX字符集: [:alnum:] 数字字符 [:alpha:] 字母字符 [:blank:] 空格(space)和定位符(tab) [:cntrl:] 控制字符 [:digit:] 数字字符 [:graph:] 非空格字符 [:lower:] 小写字母字符 [:print:] 可显示的字符 [:punct:] 标点符号字符 [:space:] 空白字符 [:upper:] 大写字符 [:xdigit:] 十六进制数字 3、结合grep命令使用,可以查找按照正则表达式设置的选择所需要的内容 grep的参数: -i 不区分大小写 -v 在规定的搜索结果中取反 -n 显示匹配的行在文件中的行号 -An 匹配行的前n行 -Bn 匹配行的后n行 -Cn 匹配行的前后各n行 --color 高亮显示 -E=egrep 扩展grep
做作实验:
1、参看指定的字符串
可以看出,上图选择出了指定的aaa的行,并高亮标记
2、选择出以空格开头的行
可以看出选择出了以空格开头的行,即第四行,但是空格不显示颜色,需要反选
才能看到颜色。
3、选出以aA开头的中间有任意字符串,后面跟着aA 结尾的行
4、选择出以空格开头,且出现两次aA的行,两次aA之间有其他的字符串
5、要选择出出现aA,且后面某个位置还出现了aA,以出现多次aA,且以aA结尾的行,如下图:
6、选择出以aAxy开始,且以xyaA结束的行
7、显示符合a的字符,重复出现3到六次的行,如下图所示
以上内容是基本正则表达式,后面博客讲介绍扩展正则表达式。