基础,扩展正则表达式

基础正则表达式

  字符匹配: 

    .: 匹配任意单个字符

    []: 匹配指定范围内的任意单个字符

    [^]:匹配指定范围之外的任意单个字符

  字符集:  

   引用方法:[[:space:]]

    [:space:]:空白字符

    [:punct:]:标点符号

    [:lower:]:小写字母

    [:upper:]:大写字母

    [:alpha:]:大小写字母

    [:digit:]:数字

    [:alnum:]:代表英文大小写字符及数字,即0-9,A-Z,a-z

    [:graph:]:代表除了空格键(空格键和tab键)外其他所有的按键

    [:prinit:]:代表任何可以被打印出来的字符

    [:xdigit:]:代表十六进制的数字类型,因此包括0-9,A-F,a-f的数字与字符

    [:blank:]代表空格键和tab键

    [:cntrl:]:代表键盘上面的控制按键,即包括CR,LF,Tab,Del等

    [abc],[a-z],[A-Z],[a-zA-Z],[0-9a-zA-Z]     说明:也可以自定义一些字符集

  匹配次数:

   “\”用于转义   

    *:匹配其前面的字符任意次

    .*:任意长度的任意字符

    \?:匹配其前面的字符1次或0次

    \{m,n\}:匹配其前面的字符至少m次至多n次

    \{n,\}:表示匹配前面的内容至少n次

    \{n\}: 表示匹配前面的内容n次

  位置锚定:   

    ^word:锚定行首,此字符后面的内容一定要出现在行首

    word$: 锚定行尾,此字符前面的内容一定要出现在行尾

    ^$: 表示空白行

    \<或\b:  锚定词首,其后面的任意字符必须作为单词的首部出现

    \>或\b:锚定词尾,其后面的任意字符必须作为单词的尾部出现

    \<>\:表示精确匹配,表示这个字母组合既在词首又在词尾,那就是一个单词

  分组匹配:

   “\”用作转义

    \(\)

      例如:\(ab\)*:将ab作为一个整体,ab可以出现任意次

    “()”不仅可以将匹配的内容进行分组,还有后向引用的作用

    \1:引用第一个左括号及其对应的右括号所包括的所有的内容

    \2:引用第二个左括号及其对应的右括号所包括的所有的内容

    \3:引用第三个左括号及其对应的右括号所包括的所有的内容

扩展正则表达式

 扩展正则表达式相比较与基础正则只是增加了一些新内容

以下命令可以引用扩展正则表达式

  grep -E

  egrep

  sed -r 

  awk

  匹配规则:

    word:匹配word一次或者零次

    word+:匹配word至少一次

    word1|word2:用或的方式找出数个字符串

      例如:”glad|good“  查找”glad“或者”good”这两个字符串

    word:将括号内的内容作为一个整体查找,其实和基础正则表达式的区别就是没有转移符

    word)+:将括号内的内容作为整体匹配一次以上进行查找

    

 

posted @ 2015-11-15 17:28  Nuwanda  阅读(376)  评论(0编辑  收藏  举报