日历

二月
28293031123
45678910
11121314151617
18192021222324
252627282912

分类

日志
grep

正则表达式

奔斗 posted @ 2013年12月22日 23:27 in linux , 765 阅读

参考书籍:unix和shell程序设计权威指南 清华出版社

                    正则表达式


一、原子

点:. 匹配任意ACII字符

类:[]匹配方括号内任意一个字符

     注:方括号内使用转义字符\,非运算符^

             [A-Za-z]:任意字符

锚:^  : 行首

         $  :行尾

         \<  :单词词首

        \>   :单词词尾

                     注:锚和原子经常结合一起使用,如^Q表示已Q开头的一个字符串

向后引用

重新使用在一个正则表达式定义过的规则,不过这是有要求的,规则必须出现在()中,/1调用第一个括号里的规则、/2 /3……以此类推。加入多个括号嵌套使用系统会自动给最先出现的'('分配.

二、正则表达式的运算符

序列运算符:序列算符为空,它的含义是:如果有原子系列出现在正则表达式中则表示在原子之间有一个不可见的序列运算符

    注:[0-9][0-9]任意数字

替换:|   相当于是 A or B,AB中的任意一个

重复:\{m,n\}

             说明:最多n个可以是0到n \{,n\}

                          最少n个必须比n个多\{n,\}

                          精确n个\{n\}

缩写形式运算符:?匹配前面的原子0到1次

                                  +匹配前面的原子1到多次

                                  *匹配前面的原子0到多次

组运算符:()相当于四则运算里的括号,被括起来的部分先进行运算

                    注:*(?=xxxx)匹配*的右边必须是xxxx *(?>=xxxx)匹配的左边必须是xxxx


 

\r,\n carriage return,newline character
\t Tabs
\d Any digit character,any ont of 0~9
\w any alpha,numeric,underline
\s Any one of space,tab,newline, or\n
. Any character except \n
\b Match a word boundary
   
   
   

English Version

common 普通字符

escaped character 转义字符

character sets 字符集合

custom sets 次数集合

quantifier

special puncts 特殊字符(点)

backward 向后引用

assertion  预搜索

greedy  reluctant 贪婪 懒惰

prompts 提示


 


 


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter