正则表达式

grep命令:
文本过滤(按行过滤)
参数
  -v 取反
-i 忽略大小写
-n 显示行号
-c 统计匹配行数
-q 静默执行(不显示执行结果)
-o 仅显示搜索到的字符串
-A #(数字) 包含关键字的后续几行
-B #(数字) 包含关键字的前面几行
-C #(数字) 包含关键字的前后几行
-w 匹配整个单词
-E 相当于fgrep
正则表达式
REGEXP匹配字符串
正则表达式元字符
\ 转义字符
. 匹配任意单个字符
[] 匹配指定范围外的任意单个字符
[^] 匹配除了[]内单一字符
[:alnum:] 字母和数字
[:alpha:]A-Z,a-z 代表任何英文大小写字符
[:upper:]A-Z 大写字母
[:lower:]a-z 小写字母
[:blank:] 空白字符
[:space:] 水平和垂直的空白字符
[:cntrl:] 不可打印的控制字符(退格,删除,警铃)
[:digit:] 十进制数字
[:xdigit:] 十六进制数字
[:graph:] 可打印的非空白字符
[:print:] 可打印的空白字符
[:punct:] 标点符号
正则表达式位置锚定:定位出现的位置
^ 行首锚定,用于模式的最左侧
$ 行尾锚定,用于模式的最右侧
^PATTERN$ 用于模式匹配整行
^$空行 空行
^[[:space;]]*$ 空白行
\<或\b 词首锚定,用于单词模式的左侧
\>或\b 词尾锚定,用于单词模式的右侧
\<PATTERN\> 匹配整个单词
正则表达式分组
\(\)将一个或多个字符捆绑在一起,当作一个整体进行处理,如\(root\)\+
分组括号中的模式匹配到的内容会被正则表达式引擎记录于内部的变量中,
这些变量的命名方式为:\1,\2,\3,..
\1 表示从左侧起第一个左括号以及为止匹配右括号之间的模式所匹配到 的字符
示例: \(string1\+\(string2\)*\)
\1 : string1\+\(string2\)*
\2 : string2
后向引用:引用前面的分组括号中模式所匹配字符,而非模式本身
或者\|
示例 : a\|b: a或b C\|cat: C或cat \(C\|c\)at:Cat或cat
正则表达式次数匹配
.*: 匹配前面字符任意次
\?: 0或1次
\+: 1次或多次
\{n\}: 匹配前面的字符n次
\{m,n\} 匹配前面的字符至少m次,至多n次
\{,n\} 匹配前面的字符至多n次
\{n,\} 匹配前面的字符至少n次
egrep及扩展的正则表达式
egrep命令
egrep=grep-E
扩展正则表达式
扩展正则表达式元字符
. 匹配任意单个字符
[] 匹配指定范围外的任意单个字符
[^] 字母和数字
扩展正则表达式位置锚定
^ 行首锚定,用于模式的最左侧
$ 行尾锚定,用于模式的最右侧
\<或\b 词首锚定,用于单词模式的左侧
\>或\b 词尾锚定,用于单词模式的右侧
扩展正则表达式分组
()
后向引用:\1,\2,…
例 : a|b: a或b C|cat: C或cat (C|c)at:Cat或cat
扩展正则表达式次数匹配
*: 匹配前面字符任意次
?: 0或1次
+: 1次或多次
{m}: 匹配m次
{m,n}: 至少m次,至多n次

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/93828

(0)
简单不简单简单不简单
上一篇 2018-03-30 20:34
下一篇 2018-03-30 20:36

相关推荐

  • lvs(linux virtual server)、keepalived

    Linux Cluster: httpd: ab,  benchmark; 系统的扩展方式: Scale up:向上扩展; 提供性能更好的服务器替代现有的服务器; Scale out:向外扩展; 提供更多的服务器来满足同一个需求; 集群:将多台主机组织起来满足某一特定需求; 集群类型: 1、LB:Load Balancing, 负载均衡集群; 负载均衡器,调…

    2018-07-05
  • 第五周 软件包管理命令、制定定时任务和sed命令介绍

    1. RPM包管理 1.1 RPM简介 RPM类似于Windows系统中.exe的软件安装程序,用户可以使用它自行安装和管理Linux上的应用程序和系统工具; RPM软件包文件都是以.rpm为后缀,一般采用这样的命名格式:软件包名称 – 版本号 – 修正版 . 硬件平台 . rpm。 1.2 RPM命令的使用方法 查询:rpm {-q…

    2018-07-02
  • ansible httpd

    卸载服务ansible all -m shell -a ‘yum -y remove nginx’ 检查用户 组 uid gidansible all -m shell -a ‘getent passwd nginx’ansible all -m shell -a ‘getent group ngi…

    Linux笔记 2018-07-23
  • RPM包管理和YUM仓库的总结

    1,软件运行和编译
    2,RPM包使用于管理
    3,YUM仓库创建与管理

    2018-04-20
  • 网络基础2

    网络基础2

    Linux笔记 2018-05-01
  • 基本正则表达式

    城还是这座城,人已非故人

    2018-04-18