正则表达式总结
正则表达式就是处理字符串的方法,它以行为单位来进行字符串的处理操作,正则表达式通过一些特殊符号的辅助,可以让用户轻易完成查找、删除、替换某特定字符串的处理过程。
一、正则表达式与通配符的区别:
1、正则符号匹配的是文件内容信息。
2、通配符匹配的是文件名称信息。
二、系统特殊符号
1、美元符号:$
1)用于取出变量中的内容
2)用于取出指定列的信息,在awk中常用
3)表示用户命令提示符。超级用户为#,普通用户为$.
4)表示一行的结尾
2、叹号符号:!
1)用于取反或者排除的意思。
2)用于强制操作处理:vim中强制保存退出,wq!,q!.
3、竖线符号:|
1)表示管道符号,管道前面执行命令的结果,交给管道后面的命令执行。
2)经常配合xargs命令使用,将查找出的结果进行分组显示。
4、井号:#
1)表示文件内容注释符号
2)超级用户命令提示符
5、引号符号
1)$():表示命令执行结果留下,用于其他命令调用。
2)双引号:“” --表示输入内容,就是输出内容,但是部分信息会被解析。
3)单引号:'' --表示输入即输出
4)反引号:`` --表示执行命令的结果留下,用于其他命令执行或调用
6、定向符号
1)小于符号:单个< 标准输入重定向符号 两个<< 标准输入追加重定向符号
2)大于符号:单个>/2> 标准输出重定向符号/错误输出重定向符号 >>/2>> 标准输出追加重定向/错误输出追加重定向符号
7、路径信息符号
1)单点符号:. --表示当前目录
2)双点符号:.. --表示上级目录
3)波浪符号:~ --表示用户家目录 超级用户家目录:/root 普通用户家目录:/home/用户名称
4)减号符号:- --表示回到上次的目录,cd -
8、逻辑符号
1)并且符号:&& --表示前面的命令执行成功,再执行后面的命令
2)或者符号:|| --表示前面的名称执行失败,再执行后面的命令。若前面的命令执行成功,则不执行后面的命令。
三、正则符号分为基础正则符号和扩展正则符号。
1、基础正则符号:^ $ . * [] \
1)尖角符号:^ --表示匹配以什么字符开头的一行信息 ,^bak 表示匹配以bak开头的一行信息。
2)美元符号:$ --表示匹配以什么字符结尾的一行信息, bak$ 表示匹配以bak结尾的一行信息。
3)尖角+美元符号:^$ --表示过滤空行信息。
4)点号符号:. --表示匹配任意一个且只有一个字符。
5)星号符号:* --表示匹配前一个字符出现连续出现1次或0次以上
6)点星符号:.* --表示匹配文件中所有信息(包括空行) 。
^.*xxx :表示从开头到什么字符为止的内容(贪婪匹配)
^xxx.*xxx$ :表示以什么开头到什么字符结尾的全部内容信息。
7)转义符号:\ 01. 将有特殊意义符号,转义成普通信息进行识别 \.$ --表示匹配以.结尾的内容信息
02. 将没有意义的信息转义为有特殊意义的信息 \n --换行 \t --制表符,相当于tab
8)中括号:[] --表示匹配括号内的多个字符信息。
[abc] 匹配包含a或b或c信息的内容
9)排除符号:[^] --表示排除括号中的信息。
[^abc] 匹配排除包含a或b或c信息的其他内容
2、扩展正则符号:+ | () {} ?
1)加号符号:+ 表示前一个字符连续出现了1次或多次以上。一般加号与中括号使用,可以匹配多个不同的连续字符
2)问号符号:? 表示前一个字符出现0次或1次
3)竖线符号:| 表示匹配多个满足条件的信息(或者) a|b|c 匹配出含有a或b或c内容的信息
4)小括号符号:() (1)表示匹配一个整体
(2)表示后向引用前项 (.*) \1 经常在sed中使用
5)大括号符号:表示定义前面字符出现的次数
{x} 表示前一个字符正好连续出现x次。
{x,y} 表示前一个字符连续至少出现x次,最多出现y次。
{x,} 表示前一个字符连续出现x次,最多无限次
{,y} 表示前一个字符至少连续出现0次,最多y次。
3、注意事项
1)默认grep ,sed不能直接识别扩展正则符号,需要提升级别才可识别
grep --- egrep 或 grep -E
sed --- sed -r
具体命令:

浙公网安备 33010602011771号