作者:jysghyb | 来源:互联网 | 2017-11-04 21:10
1、正则表达式的meta字符:\转义符.匹配单个字符*匹配前一个字符(0)^匹配紧接着的正则表达式,在行首位置$匹配前面的正则表达式,在行尾位置[]匹配方括号里面的任意一个字符\{n,m\}区域表达式,匹配在他前面的单个字符重现的次数\{n\}表示
1、正则表达式的meta字符:
\ 转义符
. 匹配单个字符
* 匹配前一个字符(>=0)
^ 匹配紧接着的正则表达式,在行首位置
$ 匹配前面的正则表达式,在行尾位置
[] 匹配方括号里面的任意一个字符
\{n,m\}区域表达式,匹配在他前面的单个字符重现的次数
\{n\}表示出现n次,
\{n,\}表示至少出现n次
\{,m\}表示最多出现m次
\( \) 将括号之间的模式存储在特殊的保留空间,最多9个
然后位后面重复相同模式的进行调用,如:\(ac\).*\1
会查找出achhehekehac的字符串
\n 通常与\( \)结合使用,1 + 匹配前面的正则表达式的一个或多个实例
? 匹配前面的正则表达式的零个或一个实例
| 匹配与|前或后的正则表达式
() 匹配于方括号括起来的正则表达式群
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到六次的行,如下图所示
以上内容是基本正则表达式,后面博客讲介绍扩展正则表达式。