各种工具之正则表达式语法比较

来源:互联网 发布:剑三笔记本优化版没了? 编辑:程序博客网 时间:2024/05/05 01:40

 原文链接:http://hi.baidu.com/hellolinuxworld/blog/item/15ac9ede594f381b48540369.html

在各种常用的工具中,正则表达式如此的相似却又不同。
下表列出了一些常用的正则表达式,以及其不同之处。
以perl的正则为基准,不同的用法以粉红色标出。

grep 2.5.1egrep 2.5.1sed 3.02
sed 4.07
awk 3.1.1perl 5.8.0vim 6.1JavaScript ??转义\\\\\\\行头^^^^^^^行尾$$$$$$$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}\??\??或\?, (要表达?, 得用\\?)?\??任意字符.... 含\n.. /s修饰后则含\n. 除\n. 除\n(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非单词边界 \B\B\B\B不支持\B不支持\B单词左右边界 <>\< \>\< \>\< \>不支持 (><和\>\<和\\>\\<同义不支持(><和\>\<同义\< \>不支持(><和\>\<同义控制字符 /cx不支持不支持\cx不支持\cx不支持\cx数字\d不支持不支持不支持不支持\d\d\d非数字\D不支持不支持不支持不支持\D\D\D换页 \f不支持不支持高版本支持\f\f另义 \f表示文件名字符\f换行 \n不支持不支持不支持\n\n\n\n回车 \r不支持不支持\r\r\r\r\r空白 \s不支持不支持不支持不支持\s\s\s非空白 \S不支持不支持不支持不支持\S\S\S制表符 \t不支持不支持高版本支持\t\t\t\t垂直制表符 \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\n 八进制不支持不支持不支持\n\n不支持\n\n 后向引用\n\n\n\n 仅取结果可用\n\n 仅取结果可用\n[: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:]不支持[:xdigit:] 16进制数字[:xdigit:][:xdigit:][:xdigit:][:xdigit:][:xdigit:][:xdigit:]不支持[:return:] 不支持不支持不支持不支持不支持[:return:]不支持[:tab:] 不支持不支持不支持不支持不支持[:tab:]不支持[:escape:] 不支持不支持不支持不支持不支持[:escape:]不支持[:backspace:] 不支持不支持不支持不支持不支持[:backspace:]不支持
原创粉丝点击