正则表达式

1.基本概念

正则表达式是通过一些特殊字符的排列,用以查找、替换、删除一行或多行文字字符串。简单的说,正则表达式就是处理字符串的方法,是以行为单位来进行字符串的处理行为。

2.语系对正则表达式的影响

举个例子,在英文大小写的编码顺序中,zh_CN.big5及C这两种语系的输出结果分别入下:
LANG=C: 0 1 2 3 4……A B C……a b c……z
LANG=zh_CN: 0 1 2 3 4……a A b B……z Z
所以,在使用正则表达式时,需要注意当时环境的语系是什么,否则会影响选取结果。
下面介绍一些特殊符号和其的含义:
这里写图片描述
3.grep的一些高级参数

grep [-A] [-B] [–color=auto] ‘搜索字符串’ filename
参数:
-A:后面可加数字,除了列出该行外,后序的n行业列出来
-B:前面可加数字,除了列出该行外,前面的n行业列出来
–color=auto可将正确的那个选取数据列出颜色

4.基础正则表达式常见例题

例题1:查找特定字符串
查找特定字符串(含有’the’这个特定的字符串)
这里写图片描述
查找不含该字符串
这里写图片描述
不管大小写
这里写图片描述
例题2:利用[]查找集合字符
test与taste两个单词有共同点是,都含有’t?st’
这里写图片描述
查找含oo的字符,但前边的字符不为a~z中的字符
这里写图片描述
要求字符串是数字,注意连续编码使用的是’-‘号
这里写图片描述
也可以利用特殊符号
这里写图片描述
例题3:行首与行尾字符^$
当我们需要查询的字符只在行首列出,这个时候就需要制表符了
这里写图片描述
查找第一个字符以a~z打头的
这里写图片描述
查找第一个字符是大写的
这里写图片描述
查找第一个字符是小写的
这里写图片描述
开头不是英文字母的
这里写图片描述
总结:^在字符集合符号[]之内和之外是不同的,在[]之内表示反向选择,在[]之外表示定位在行首。
行尾结束为小数点.的那一行
这里写图片描述
注意到小数点具有其他的意义,所以使用转义字符\来解除特殊意义
空白行的查找
这里写图片描述
例题4:任意一个字符.与重复字符
.(小数点):一定有一个任意字符
*(星号):重复前一个0到无穷多次,为组合形态
查找g??d的字符串
这里写图片描述
o*代表具有空字符串或一个o以上的字符,则会将所有的结果打印出来
oo*代表第一个o必须存在,第二个o可有可无
ooo*查找含有至少两个以上oo的字符串
这里写图片描述
查找字符串开头和结尾都是g,但是两个g之间至少有一个o
这里写图片描述
查找以g开头和结尾的字符串所在的行,但中间的字符可有可无
这里写图片描述
例题5:限定连续RE字符范围{}
{}在shell中有特殊意义,我们需要用转义字符来让它失去特殊意义
查找两个o的字符串
这里写图片描述
5.基础正则表达式字符

这里写图片描述

6.sed工具

基本语法:
sed [-n/e/f/r] [动作]
参数:
-n:使用安静模式
-e:直接在命令模式上进行 sed 动作编辑
-f:直接将 sed 的动作写在一个文件内,-f filename 则可以执行 filename 内的 sed 动作
-r: sed 动作支持的是扩展型正则表达式的语法
-i:直接修改读取的文件内容,而不是由屏幕输出
动作说明: [n1,[n2]]function
n1,n2:可能存在,一般代表选择进行动作的行数,举个例子,如果我的动作是需要在1行到3行之间进行的,则“1,3[动作行为]”
function的参数说明:
a:新增,a的后可以接字符串,而这些字符串会在新的一行出现
c:替换,c的后面可以接字符串,这些字符串可以替换n1,n2之间的行
d:删除,d后边不需要接任何参数
i:插入,i的后面可以接字符串,而这些字符串会在新的一行出现
p:打印,将某个选择的数据打印出来,
s:替换,可以直接进行替换工作

7.扩展正则表达式

这里写图片描述

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ZWE7616175/article/details/79325502
文章标签: 正则表达式
个人分类: Linux
想对作者说点什么? 我来说一句

正则表达式正则表达式

2011年01月10日 15KB 下载

正则表达式

2010年05月21日 97B 下载

正则表达式入门指导.ppt

2011年04月02日 694KB 下载

正则表达式总结文档集合

2009年03月19日 370KB 下载

xml需求文档及正则表达式介绍

2011年05月20日 12.68MB 下载

正则表达式简单课程学习

2011年07月10日 12KB 下载

RegexTester 正则表达式

2018年01月12日 69KB 下载

没有更多推荐了,返回首页

不良信息举报

正则表达式

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭