http://blog.csdn.net/xeroo/article/details/593755
在各种常用的工具中,
正则表达式如此的相似却又不同。
下表列出了一些常用的正则表达式,以及其不同之处。
项目总多,遗漏必有不少,请各位看官不吝指出。
以perl的正则为基准,不同的用法以粉红色标出。
(xhchen8018@yahoo.com.cn)
(注意这里的斜杠都写反了)
正则表达式如此的相似却又不同。
下表列出了一些常用的正则表达式,以及其不同之处。
项目总多,遗漏必有不少,请各位看官不吝指出。
以perl的正则为基准,不同的用法以粉红色标出。
(xhchen8018@yahoo.com.cn)
(注意这里的斜杠都写反了)
|
|
|
sed 4.07 |
|
|
|
|
转义 | / | / | / | / | / | / | / |
行头 | ^ | ^ | ^ | ^ | ^ | ^ | ^ |
行尾 | $ | $ | $ | $ | $ | $ | $ |
n个 | / | / | 或/ 仅定义 --posix 或 --re-interval有效(要表达}和 没有定义--posix或--re-interval时,不能用的语法,/}/{同义 | / | |||
* | * | * | *或/*,(要表达*,得用//*) | * | * | * | |
/+ | + | /+ | +或/+,(要表达+,得用//+) | + | /+ | + | |
/? | ? | /? | ?或/?,(要表达?,得用//?) | ? | /? | ? | |
任意字符 | . | . 含/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 | |
[: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:] | 不支持 |