草依山的Javascript世界

一个Javascript程序猿的学习纪录剩地,不仅仅是JS,还有Linux、Mac、nodeJs、吃、玩!

【转】工具及语言正则区别

不同的语言和工具在使用正则的时候会有一些区别,这个表格非常有用,需要用的时候可以查一查

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} \? ? \? ?或\?, (要表达?, 得用\\?) ? \? ?
任意字符 . . . . 含\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:] 不支持

来源:http://wjqe.blog.163.com/blog/static/1993845201272782511720/

文章地址: 【转】工具及语言正则区别
欢迎关注我的微博与我交流:@草依山
Github上也有一些东西:[Github]
所有文章坚决抵制jb51.net的转载!
2015-03-10

相关文章

2016-09-29 [翻译]bash的各种文件载入执行顺序
2016-05-31 phantomjs在linux下截图中文字体问题
2016-04-24 Promise的错误处理
2016-02-23 URL里的+
2016-02-11 N个数中第K大的数

文章修改纪录

加载中...
Copyright © 2013. Create By 草依山, Fork