Chinaunix首页 | 论坛 | 博客
  • 博客访问: 879602
  • 博文数量: 245
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 2801
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-15 10:31
文章分类

全部博文(245)

文章存档

2011年(1)

2010年(43)

2009年(102)

2008年(99)

我的朋友

分类: BSD

2010-02-27 19:01:34

在各种常用的工具中,
正则表达式如此的相似却又不同。
下表列出了一些常用的正则表达式,以及其不同之处。
项目总多,遗漏必有不少,请各位看官不吝指出。
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}

\?

?

\?

?\?, (要表达?, 得用\\?)

?

\?

?

任意字符

.

.

.

. \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

不支持

不支持

阅读(1514) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~