常用正则表达式符号和特殊字符

符号             说明                            正则表达式模式        匹配的字符串

literal        匹配字符串的值                        foo                   foo

|             匹配多个正则表达式模式             bat|bet|bit          bat,bet,bit

.         匹配任意一个字符(换行符\n除外)           f.o      在f和o之间具有任何一个字符的字符串

^              匹配字符串的开始                    ^From          任何以From开始的字符串

$              匹配字符串的结尾                     end$          任何以end结束的字符串

[...]        匹配[]中的任意一个字符              b[aeiu]t            bat,bet,bit,but

[x-y]       匹配从字符x到y中的任意一个字符     [0-9][a-zA-Z]  0到9之间的任何一个数字和任何一个字母组成的字符串

[^...]     不匹配此字符集中出现的任何一个字符      [^aeiou]               一个非元音字符

*            匹配前面的正则表达式零次或多次        t[dn]*o        t和o之间有任意多个d或n组成的字符串,
                                                                     例如to,tdo,tno,tdno,tddo,tndno等

+            匹配前面的正则表达式一次或多次        t[dn]+o        t和o之间有至少一个d或n组成的字符串,
                                                                     例如tdo,tno,tdno,tddo,tndno等

?            匹配前面的正则表达式零次或一次        [dn]ot?             do,no,dot,not

{N}          匹配前面的正则表达式N次              [0-9]{16}          任何一个16位数字

{M,N}        匹配前面的正则表达式M次到N次         [0-9]{15,16}       任何一个15位或16位数字

(*|+|?|{})?  上面4个重复匹配符号(*,+,?,{})的非贪心版本,即尽可能少的匹配消耗字符,留下尽可能多的字符给后面的模式    

()           匹配()中的正则表达式,并保存为子组    f(oo|u)bar           foobar,fubar


特殊字符            说明                        

\d             与[0-9]相同

\D             与[^0-9]相同

\w             与[A-Za-z0-9]相同

\W             与[^A-Za-z0-9]相同

\s             匹配任何空白字符,与[ \n\t\r\v\f]相同

\S             与[^ \n\t\r\v\f]相同

\| \. \\ \* \^    取消字符的特殊含义,按字面匹配
\$ \+ \? \[ \] 
\- \( \) \{ \} \/

本博客已迁往http://coredumper.cn



你可能感兴趣的:(Unix/Linux)