目录
一、正则表达式
1、概念
正则表达式,又称规则表达式。在代码中常简写计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
2、作用
正则表达式---通常用于判断语句中,用来检查某一字符串是否满足某一格式
正则表达式是由普通字符与元字符组成
普通字符包括大小写字母、数字、标点符号及一些其他符号
元字符是指在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式
3、分类
基础正则表达式:BRE
扩展正则表达式: ERE
二、基础正则表达式
1、基础正则表达式常见元字符
支持的工具:grep、egrep、sed、awk
2、grep工具
常用参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行
--color=auto :可以将找到的关键词部分加上颜色的显示
特殊字符:
\:转义符,将特殊字符进行转义,忽略其特殊意义
[root@localhost ~]# grep -n "<woo>" 1.txt
[root@localhost ~]# grep -n "\<woo\>" 1.txt
10:woo
^:匹配行首,^则是匹配字符串的开始
$:匹配行尾,$则是匹配字符串的结尾
[root@localhost ~]# grep -n "^ho" 1.txt
1:hort and fat.
[root@localhost ~]# grep -n "s$" 1.txt
9:Actions speak louder than words
[root@localhost ~]# grep -n "^$" 1.txt
11:
.:匹配除换行符\n之外的任意单个字符,只能匹配单字符
*:匹配前面子表达式0次或者多次
[list]:匹配list列表中的一个字符
[^list]:匹配任意不在list列表中的一个字符
\{n\} :匹配前面的子表达式n次
\{n,\}:匹配前面的子表达式不少于n次
\{n,m\}﹔匹配前面的子表达式n到m次
三、拓展正则表达式
1、扩展正则表达式
支持的工具:egrep、awk
2、特殊字符
+ 作用:重复一个或者一个以上的前一个字符
? 作用:零个或者一个的前一个字符
| 作用:使用或者(or)的方式找出多个字符
() 作用:查找“组”字符串
()+ 作用:辨别多个重复的组