文档章节

正则表达式(一)

Luckyserve
 Luckyserve
发布于 2017/05/18 10:00
字数 782
阅读 3
收藏 0

 正则表达式是计算机科学中的一个重要概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器中,正则表达式通常被用来检索、替换符合某个模式的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。(grep、sed、awk)   

    为什么要学习正则表达式?

    在工作中,我们做Linux运维工作,时刻面对着大量的日志、程序、命令的输出。迫切的需要过滤我们需要的一部分内容,甚至是一个字符串。

 

    一、grep(grep全称Global Regular Print)

    1、作用

    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep,表示全局正则表达式版本,它的权限是所有用户。

    2、格式

    grep [选项] 正则表达式 [文件]

    3、常用选项

    -c 只输出匹配行的计数;

    -i 不区分大小写(只适用于单字符);

    -h 查询多文件时不显示文件名;

    -l 查询多文件时只输出包含匹配字符的文件名;

    -L 只显示不包含匹配模板的行的文件名清单;

    -n 显示匹配行及行号;

    -s 不显示不存在或无匹配文本的错误信息;

    -n 在每一行前面打印改行在文件中的行数;

    -v 显示不包含匹配文本的所有行;

    -w 只显示完整单词的匹配;

    -x 只显示完整行的匹配;

    -r/-R如果文件参数是目录 ,该选项将搜做该目录下的所有子目录和文件。 

    4、元素符号集

    grep* (过滤) 

    过滤一般都是用""  '' 引号引起来

    ^lucky  表示搜索以lucky开头的内容;

    lucky$  表示搜索以lucky结尾的内容;

    ^$      表示空行,不是空格;(起排除空行作用)

    .       代表且只能代表任意一个字符;(当前目录,加载文件)

    \       转义字符,让有着特殊身份意义的字符,脱掉马甲,还原原形 例如:\.只表示小数点,还原原始小数点的意义;

    *       重复0个或者多个前面一个字符。不代表所有了。

    .*      匹配所有的字符;(^.* 代表任意多个字符开头)

    ^*      任意多个字符开头; 

    [abc]   匹配suoyou的字符合内任意一个字符[a-z],[a-z]代表匹配a-z内的任意字母;

    [^adc]  ^再中括号里表示非,不包括a或b或c,^在括号里表示“非”

    {n,m}   重复n到m次,前一个字符;

    {n, }   重复至少次,多了不限;

    {n}     n次;

    {0,m}   至多m次,少了不限。

    注意:grep 要对{转义} \{\},egrep 不需要转义。

    扩展:egrep作用是在文件中查找指定的字符串。egrep执行效果如grep -E,使用语法及参数可参照grep指令,egrep与grep不同点解读字符串的方法。

© 著作权归作者所有

Luckyserve
粉丝 0
博文 2
码字总数 1034
作品 0
海淀
私信 提问

暂无文章

cesium调用天地图服务

本文转载于:专业的前端网站➧cesium调用天地图服务 全球矢量地图服务 var viewer = new Cesium.Viewer("cesiumContainer", { animation: false, //是否显示动画控件 baseLayerPi...

前端老手
30分钟前
4
0
Docker常用命令

场景一:镜像下载、运行及删除 COMMAND DESC 查看 docker images 列出所有镜像(images) docker ps 列出正在运行的容器(containers) docker ps -a 列出所有的容器 docker pull centos 下载cen...

_Change_
30分钟前
5
0
Spark ML使用DataFrame进行K-Means

1.前言 前一篇文章使用了RDD的方式,进行了K-Means聚类. 从Spark 2.0开始,程序包中基于RDD的API spark.mllib已进入维护模式.现在,用于Spark的主要机器学习API是软件包中基于DataFrame的API...

一位不知名的帅气网友
33分钟前
4
0
当遇到美女面试官之如何理解Redis的Expire Key(过期键)

  在面试中遇到美女面试官时,我们以为面试会比较容易过,也能好好表现自己技术的时候了。然而却出现以下这一幕,当美女面试官听说你使用过Redis时,那么问题来了。 👩面试官:Q1,你知道...

ccww_
37分钟前
5
0
干货来袭!游戏背景音乐的角色创建和主界面

角色创建/选择 在一些大型的游戏中,例如多人在线的游戏玩家必须创建一个游戏的虚拟人物进行扮演游戏。初次玩这款游戏的人都会进行创建,选择职业起名字性别选择编辑人设样式等等的操作,通常...

奇亿音乐
40分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部