正则表达式详细用法

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文本处理三剑客之grep 和 正则表达式

    本文主要介绍:1、文本处理工具grep 2、正则表达式

    2018-04-17
  • 搭建完整dns服务(超详细)

    基本框架结构图 域名不一定是magedu.com  可以自定义 准备8台虚拟机 虚拟机地址: 192.168.162.101 作为客户端 192.168.162.102 作为websrv1 端 192.168.162.103 作为websrv2端 192.168.162.104 作为主dns端 192.168.162.105 作为从dns端 192.168.…

    Linux笔记 2018-06-02
  • 第四周,用户权限管理和正则表达式练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 ● 实现命令 [root@localhost ~]#cp -r /etc/skel /home/tuser1 [root@localhost ~]#chmod -R og= /home/tuser1 ● 命令分解 cp:复制…

    2018-05-31
  • 运维之pxe、dhcp、cobbler

    运维之pxe、dhcp、cobbler 把一个主机接入TCP/IP网络,要配置哪些网络参数:ip/mask、gateway、dns server;参数配置方式:1、静态配置;2、动态分配:a、bootp协议b、dhcp协议:引入了“租约”的bootp; DHCP:动态主机配置协议:arp:address resolving protocol:地址解析协议:I…

    Linux笔记 2018-07-22
  • 正则表达式

      正则表达式:REGular EXPression 字符匹配: . 匹配一个随机字符 \[^.]:匹配除了点以外任意的字符 [] 匹配指定范围内的任意单个字符 [^] 匹配指定范围外的任意单个字符 [:alnum:] 字母和数字 [:alpha:] 代表任何英文大小写字符,亦即 A-Z, a-z [:blank:] 空白字符(空格和制表符) [:…

    2018-03-16
  • hell脚本基础知识详细介绍

    Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。 它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件…

    Linux笔记 2018-05-14