正则表达式详细用法

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

相关推荐

  • 标准I/O和管道

    input:输入读入数据 output:输出数据文件的 打开的文件都有一个fd: file descriptor (文件描述符) ll /proc/$$/fd #查看fd exec 8<>/data/hosts #指定fd I/O重定向:该变默认位置 > #把标准输出重定向到文件(一个”>”是覆盖,”>>”是追加) 2&g…

    2018-04-02
  • 第一周总结

    存储网络: DAS—–直接连接存储(Direct attached storage) NAS—–网络连接存储(Network attached storage) SAN—–存储区域网络(storage area network) DAS优缺点: 直接存储(Direct Attached Storage)。存储设备与主机的紧密相连 1.管理成…

    Linux笔记 2018-04-01
  • Linux上的文件管理类命令

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。(1)目录管理命令——ls:列出指定目录下的内容格式:ls [OPTION]… [FILE]…-a:显示所有文件包括隐藏文件-A:显示除.和..之外的所有文件-l,–long:显示文件的详细属性信息-h:对文件大小进行单位换算,可能影响精度-d:查…

    Linux笔记 2018-05-19
  • 进程管理

    1.进程概念内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等Process: 运行中的程序的一个副本,是被载入内存的一个指令集合进程ID(Process ID,PID)号码被用来标记各个进程UID、GID、和SELinux语境决定对文件系统的存取和访问权限,通常从执行进程的用户来继承存在生命周期task struct:Linux内核存…

    Linux笔记 2018-05-14
  • grep、vim及用户和组练习

    grep
    chown
    chmod
    vim

    2018-07-23
  • Week01

    第一周作业

    2018-05-12