Linux grep 正则详解
正则表达式是一个工具,可以提高工作效率的工具。无论学习什么东西,都要明白它是用来干什么的,怎么去很好的运用它,这些才是我们应该作为学者首先该考虑的东西。既然是表达式,就是有命令、参数、选项、连接符等组合而成的,它们可以根据我们的需要,组合成有效的形式,进行文本的特定搜索和切割,得到我们想要的结果。说的简单些,正则表达式就是由一大堆的元字符组合起来,过滤文本的,我们把这些元字符组合起来,就是模式。
正则表达式,大家在开发中经常会用到的,现在很多开发语言都有正则表达式的应用,比如javascript java .net php等。我们什么时候用正则表达式呢?不是所有的字符操作都用正则就好了,当我们遇到复杂文本数据的解析时候,用正则是比较好的选择。
优点:正则表达式在处理复杂字符操作的时候,可以提高工作效率,也在一定程度 节省了你的代码量。
缺点:我们再使用正则表达式的时候,复杂的正则表达式会加大代码的复杂度,让人很难理解,所以我们有的时候需要在正则表达式内部添加注释
正则表达式可以分为:
1.基本正则表达式:grep
2.扩展正则表达式:egrep
3.不搜索正则表达式:fgrep
基本正则表达式,在日常学习和工作中用的最多的。
表格1 grep的常用选项
选项 | 说明 |
-v | 对结果取反 |
-i | 忽略字母大小写 |
-o | 仅显示匹配到的字符串 |
-E | 支持扩展正则表达式 |
-A n | 匹配到的行向后多显示n行 |
-B n | 匹配到的行向上多现实n行 |
-C n | 匹配到的行上下各显n行 |
表格2 元字符
. | 匹配任意单个字符 |
* | 匹配其前面的字符任意次 |
.* | 任意长度的任意字符 |
[] | 指定范围内的任意单个字符 |
[^] | 取反 |
^ | 锁定行首 |
$ | 锁定行尾 |
^$ | 锁定空白行 |
\< | 锚定词首 |
\> | 锚定词尾 |
\(value\) | 分组 |
\n | 引用 |
表格3 常用通配符
[:digit:] | 所有数字 |
[:lower:] | 所有小写字母 |
[:upper:] | 所有大写字母 |
[:space:] | 所有空白字符 |
[:alpha:] | 所有字母 |
[:punct:] | 所有标点符号 |
相关推荐
MaggieRose 2020-08-19
山水沐光 2020-08-03
rechanel 2020-11-16
taomengxing 2020-09-07
NBkiller 2020-06-14
wangzhaotongalex 2020-10-20
cshanzhizi 2020-10-16
luofuIT成长记录 2020-09-22
jyj00 2020-08-15
MaggieRose 2020-07-04
modaiairen 2020-06-28
ziggurat 2020-06-28
JnX 2020-06-27
jyj00 2020-06-26
山水沐光 2020-06-25
shqhope 2020-06-23
eroshn 2020-06-21
码墨 2020-06-16
wyq 2020-11-11