正则表达式详细用法

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 15:07
下一篇 2018-04-08 15:53

相关推荐

  • yum源搭建

    本地yum源搭建,网络yum源搭建

    Linux笔记 2018-04-21
  • 正则表达式及vim使用方法

    正则表达式(正则表达式匹配的是文本内容中的字符串,通倍符匹配的是文件名)REGEXP:由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能程序支持:grep,sed,awk,vim, less,nginx,varnish等分两类:不同的命令支持不同的正则表达式基本正则表达式:BRE扩展正则表达式:EREgre…

    Linux笔记 2018-04-08
  • 在linux服务器上运行django项目

    在linux服务器上运行django项目(1)需进入已创建的虚拟环境中。 (2)在虚拟环境中进入需要运行django项目(需进入到含有apps等文件的文件夹)                                                   进入哪个虚拟环境就是用哪个虚拟环境。 (3)MAKEMIGRATIONS:命令 python man…

    Linux笔记 2018-05-01
  • 第六周

    简述OSI七层模型和TCP/IP五层模型应用层:为计算机用户提供应用程序接口和各种网络服务,通常可见的网络服务协议有:http,https,ftp,smtp,pop。会话层:建立、管理和终止表示层之间的通信会话。网络层:进行逻辑地址寻址,实现不同网络之间的路径选择物理层: 建立维护和断开物理连接应用层:对应OSI七层模型中的应用层、表示层、会话层网络层:物理…

    Linux笔记 2018-07-15
  • Centos6.9 的安装过程

                                                                              Centos6.9虚拟机创建过程 (本次安装过程以VMware14版本为主) 一、            首先需要先获取centos6.9的安装包,如果计算机上还未有centos6.9的安装包,你可以到以下网址进…

    Linux笔记 2018-03-31
  • RAID和逻辑卷

    1、RAID技术
    2、RAID实验
    3、逻辑卷管理
    4、逻辑卷快照

    Linux笔记 2018-06-10