正则表达式

一、正则表达式概述
正则表达式是字符串处理的标准依据,可以使用单个字符串搜索、匹配一系列符合某个语法规则的字符串,由普通字符及特殊字符组成。
1、正则表达式概述正则表达式定义
(1)正则表达式,又称正规表达式、常规表达式
(2)使用字符串来描述、匹配一系列符合某个规则的字符串
(3)正则表达式组成
◆普通字符
大小写字母、数字、标点符号及一些其他符号
◆元字符
在正则表达式中具有特殊意义的专用字符
2、Linux中文本处理工具
(1)grep
(2)egrep
(3)sed
语法:sed [选项] ‘操作’ 参数
【选项】
-e:指定要执行的命令,只有一个编辑命令时可省略
-n:只输出处理后的行,读入时不显示
-i:直接编辑文件,而不输出结果
-f :用指定的脚本文件来处理输入的文本文件
【操作】
a:增加,在当前行下面增加一行指定内容。
c:替换,将选定行替换为指定内容。
d:删除,删除选定的行。
i:插入,在选定行上面插入一行指定内容。
p:打印,如果同时指定行,表示打印指定行;如果不指定行,则表示打印所有内容;如果有非打
印字符,则以ASCII码输出。其通常与“-n"”选项一起使用。
s:替换,替换指定字符。
y:字符转换。

(4)awk
3、常见普通元字符

\:转义字符:\!、\n等
^:匹配字符串开始的位置
例: ^a
$:匹配字符串结束的位置
例: word\$
.:匹配除\n之外的任意的一个字符
例: go.d、g..d
*:匹配前面子表达式0次或者多次
例: goo*d、go.*d
[list]:匹配list列表中的一个字符
例: go[ola]d,[abc][a-z][a-zO-9]
[^list]:匹配任意不在list列表中的一个字符
例:[^a-z][^O-9][^A-ZO-9]
\{n,ml}:匹配前面的子表达式n到m次,有\{n\}、\{n,\}、\{n,m\}三种格式
例:go\{2\}d、go\{2,3\}d、go\{2,l}d

正则表达式_第1张图片

扩展正则表达式
常见元字符

+ 
作用:重复一个或者一个以上的前一个字符
EX:执行"egrep -n 'wo+d' test.txt"命令,即可查询中间至少有两个o的字符串
?
作用:零个或者一个的前一个字符
EX:执行"egrep -n 'bes?t' test.txt"命令,即可查询"bet""best”这两个字符串
|
作用:使用或者(or)的方式找出多个字符
EX:执行"egrep -n 'of|is|on' test.txt命令即可查询"of"或者"it"或者"on"字符串
()
作用:查找"组”字符串
EX:“egrep -n 't(a|e)st test.txt""tast"与“test'因为这两个单词的t"与"st是重复的,所以将"a"与“e"列于“()"符号当中,并以"|"分隔,即可查询"tast"或者""test"字符串
()+
作用:辨别多个重复的组
EX:“egrep -n 'A(xyz)+C' test.txt”。该命令是查询开头的"A"结尾是℃",中间有一个以上的"xyz"字符串的意思

正则表达式_第2张图片

你可能感兴趣的:(正则表达式)