目录
引言: 学会按需求查找,展示东西可以极大的节省时间
1.1 正则表达式定义
正则表达式,又称正规表达式、常规表达式
使用字符串来描述、匹配一系列符合某个规则的字符串
1.1.1正则表达式组成
普通字符:
大小写字母、数字、标点符号及一些其他符号
元字符:
在正则表达式中具有特殊意义的专业字符
1.1.2 作用
正则表达式通常用于判断语句中,用来检查某一字符串
是否满足某一格式
1.2 基础正则表达式元字符
基础正则表达式是常用的正则表达式部分
除了普通字符外,常见到以下元字符
符号 | 含义 |
---|---|
\ | 转意字符,!,\n等 |
^ | 匹配字符串结束的位置 |
$ | 匹配字符串结束的位置 |
. | 匹配除\n之外的任意的一个字符 |
* | 匹配前面子表达式0次或者多次 |
[list] | 匹配list列表中的一个字符 |
[^list] | 匹配任意不在list列表中的一个字符 |
{n,m} | 匹配前面的子表达式n到m次,有{n},{n,}, {n,m} |
+ | 匹配前面子表达式1次以上 |
? | 匹配前面子表达式0次或者1次 |
() | 将括号中的字符串作为一个整体 |
l | 以或的方式匹配字条串 |
Linux中常用的有两种正则表达式引擎
基础正则表达式 :BRE
扩展正则表达式:ERE
二、正则表达式相关命令
2.1 grep命令
简介:
grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
Unix的grep家族包括 grep、egrep和fgrep 。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。
grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。
格式:
grep 《选项》……查找条件 目标文件
常用选项与说明
选项 | 说明 |
---|---|
V | 打印grep的版 |