zoukankan      html  css  js  c++  java
  • grep与正则表达式

    1、grep程序

    Linux下有文本处理三剑客 --  grep  sed  awk

    grep:文本  行过滤工具

    sed:文本  行编辑器(流编辑器)

    awk:报告生成器(做文本输出格式化)

    grep  包含三个命令: grep egrep fgrep,他们是用来进行 行模式(pattern)匹配的

    egrep=grep -E  //使用扩展的正则表达式进行匹配

    fgrep=fast grep  ///只使用文件通配符进行匹配

    grep默认使用正则表达式进行文本匹配!!!!!!!!!!

    grep的用法:

    grep 选项  .....pattren

    -E   支持使用扩展的正则表达式(ERE)(regexp)

    -P   使用perl语言的正则表达式引擎进行搜索(每一种语言的正则表达式引擎都不相同,甚至sed grep awk使用的regexp引擎也不相同)

    -i 忽略大小写

    -v  进行反选

    -o  仅仅输出匹配的内容(默认输出的是匹配到的行)

    --color=auto  语法着色

    -n  显示行号

    pattern ---- 正则表达式

    作用:通过一些特殊的字符,来表示一类字符内容,然后交给前面的命令来执行;如果使用特殊字符本身含义,就需要  进行转义;

    1、字符匹配

    .  任意一个字符   ?

    []  范围内的任意一个字符

    [^]范围外的任意一个字符

    字符类:[:digit:]  [:alnum:]  [:alpha:]  [:lower:]  [:upper:]  [:space:]  [:punct:]

    2、次数匹配

    *  匹配前面的字符0次到n次

    ? 匹配前面的字符0次到1次

    +  匹配前面的字符1次到n次

    {m}匹配前面的字符m次

    a{7}     aaaaaaaaa

    {m,n}匹配前面的字符m到n次

    {0,n}  匹配前面的字符0次到n次

    {m,}匹配前面的字符至少m次

    3、位置锚定

    ^  锚定行首

    $  锚定行尾

      锚定词首和锚定词尾

    >锚定词尾

    <锚定词首 

    4、分组

     

    2、正则表达式

  • 相关阅读:
    XidianOJ 1099 A simple problem
    XidianOJ 1097 焊板子的xry111
    XidianOJ 1172 Hiking
    XidianOJ 1176 ship
    bzoj1912(树的直径)
    黑暗城堡(最短路径树)
    poj1639(k限制最小生成树)
    0-1分数规划
    tyvj1391(Kruskal)
    [Usaco2007 Nov]Cow Relays(矩阵乘法+floyd)
  • 原文地址:https://www.cnblogs.com/yjkyjk/p/11351852.html
Copyright © 2011-2022 走看看