grep、sed、awk、perl、js、vim等对正则表达式的支持的差别

grep、sed、awk、perl等对正则表达式的支持的差别


grep 2.5.1 egrep 2.5.1 sed 3.02
sed 4.07
awk 3.1.1 perl 5.8.0 vim 6.1 JavaScript ??
转义
行头 ^ ^ ^ ^ ^ ^ ^
行尾 $ $ $ $ $ $ $
n个 {n} {m,n} {m,} {,n} {n} {n} {n} {n}或{n} 仅定义 –posix 或 –re-interval有效(要表达}和{,得用\{和\} 没有定义–posix或–re-interval时,不能用{n}的语法, }{和}{同义 {n} {n} {n}
{0,} * * * *或*, (要表达*,得用\*) * * *
{1,} + + + +或+, (要表达+, 得用\+) + + +
{0,1} ? ? ? ?或?, (要表达?, 得用\?) ? ? ?
任意字符 . . . . 含 . . /s修饰后则含 . 除 . 除
(pat) 匹配并获结果 (pat) (pat) (pat) (pat)或(pat) (要表达括号,用\( \) ) (pat) (pat) (pat)
(?:pat) 匹配但不获结果 不支持 不支持 不支持 不支持 (?:pat) 不支持 (?:pat)
(?=pat) 等于预查 不支持 不支持 不支持 不支持 (?=pat) 不支持 (?=pat)
(?!pat) 不等预查 不支持 不支持 不支持 不支持 (?!pat) 不支持 (?!pat)
| 或 | | | |或| (要表达|,得用\|) | | |
其中任意字符 [xyz] [xyz] [xyz] [xyz] [xyz] [xyz] [xyz]
[.ch.] [=ch=] 不支持 不支持 [.ch.] 不支持 不支持 不支持 不支持
单词边界 不支持 不支持
非单词边界 B B B B 不支持 B 不支持 B
单词左右边界 <> < > < > < > 不支持 (><和><和\>\<同义 不支持(><和><同义 < > 不支持(><和><同义
控制字符 /cx 不支持 不支持 cx 不支持 cx 不支持 cx
数字d 不支持 不支持 不支持 不支持 d d d
非数字D 不支持 不支持 不支持 不支持 D D D
换页 f 不支持 不支持 高版本支持 f f 另义 f表示文件名字符 f
换行 不支持 不支持 不支持
回车 不支持 不支持
空白 s 不支持 不支持 不支持 不支持 s s s
非空白 S 不支持 不支持 不支持 不支持 S S S
制表符 不支持 不支持 高版本支持
垂直制表符 v 不支持 不支持 高版本支持 v v 另义 v表示very magic v
单词字符 w [A-Za-z0-9_] w w w 不支持 w w w
非单词字符 W [^A-Za-z0-9] W W W 不支持 W W W
xn 16进制 不支持 不支持 高版本支持 xn xn 另义 x表示[0-9A-Za-z] xn
八进制 不支持 不支持 不支持 不支持
后向引用 仅取结果可用 仅取结果可用
[:alnum:] 字母和数字 [:alnum:] [:alnum:] [:alnum:] [:alnum:] [:alnum:] [:alnum:] 不支持
[:alpha:] 字母 [:alpha:] [:alpha:] [:alpha:] [:alpha:] [:alpha:] [:alpha:] 不支持
[:cntrl:] 控制字符 [:cntrl:] [:cntrl:] [:cntrl:] [:cntrl:] [:cntrl:] [:cntrl:] 不支持
[:digit:] 数字 [:digit:] [:digit:] [:digit:] [:digit:] [:digit:] [:digit:] 不支持
[:graph:] 可打印字符(不含空格) [:graph:] [:graph:] [:graph:] [:graph:] [:graph:] [:graph:] 不支持
[:lower:] 小写 [:lower:] [:lower:] [:lower:] [:lower:] [:lower:] [:lower:] 不支持
[:print:] 可打印字符(含空格) [:print:] [:print:] [:print:] [:print:] [:print:] [:print:] 不支持
[:punct:] 标点 [:punct:] [:punct:] [:punct:] [:punct:] [:punct:] [:punct:] 不支持
[:space:] 空格 [:space:] [:space:] [:space:] [:space:] [:space:] [:space:] 不支持
[:upper:] 大写字母 [:upper:] [:upper:] [:upper:] [:upper:] [:upper:] [:upper:] 不支持
[grep、sed、awk、perl、js、vim等对正则表达式的支持的差别digit:] 16进制数字 [grep、sed、awk、perl、js、vim等对正则表达式的支持的差别digit:] [grep、sed、awk、perl、js、vim等对正则表达式的支持的差别digit:] [grep、sed、awk、perl、js、vim等对正则表达式的支持的差别digit:] [grep、sed、awk、perl、js、vim等对正则表达式的支持的差别digit:] [grep、sed、awk、perl、js、vim等对正则表达式的支持的差别digit:] [grep、sed、awk、perl、js、vim等对正则表达式的支持的差别digit:] 不支持
[:return:] 不支持 不支持 不支持 不支持 不支持 [:return:] 不支持
[:tab:] 不支持 不支持 不支持 不支持 不支持 [:tab:] 不支持
[:escape:] 不支持 不支持 不支持 不支持 不支持 [:escape:] 不支持
[:backspace:] 不支持 不支持 不支持 不支持 不支持 [:backspace:] 不支持