正则表达式详细用法

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/95392

(0)
简单不简单简单不简单
上一篇 2018-04-08
下一篇 2018-04-08

相关推荐

  • linux第五周

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

    Linux笔记 2018-07-22
  • rpm包管理

    相关知识 接口 API:二进制接口 ABI:应用层接口, 包的组成: 二进制文件;库文件;配置文件;帮助文档 程序包管理器 debian: deb,dpt apt-agt包管理前段工具 rehat:rpm;rpm yum包管理前段工具 fedora dnf包管理前段工具 安装过的rpm包数据库 /var/lib/rpm/* 管理查看二进制程序依赖的库文件 l…

    Linux笔记 2018-04-22
  • Linux系统进程管理及作业操作

    进程是正在运行的程序实体,并且包括这个运行的程序中占据的所有系统资源,比如说CPU,IO,内存,网络资源等。通过学习Linux系统进程管理来协调多道程序之间的关系,使CPU得到充分的利用。

    2018-05-05
  • 开篇–送给自己

    这段文章是勉励自己的,各位看官请自行跳过

    Linux笔记 2018-06-25
  • 文本处理工具

    本文主要介绍:1、文本查看工具 2、文本统计工具 3、文本比较工具

    2018-04-16