正则表达式比较


各类工具中正则表达式的比较。Vim 部分基本没问题,其他的用得比较少,可能有错误。

 

 

gre p 2.5.1

egre p 2.5.1

sed 3.02
sed 4.07

awk 3.1.1

perl 5.8.0

vim 6.3
vim 7.0

JavaScript

转义字符

 

 

 

 

 

/

 

行头

^

^

^

^

^

^

^

行尾

$

$

$

$

$

$

$

多个

 

 

 

或 仅定义 --posix --re-interval有效(要表达}和 没有定义--posix--re-interval,不能用的语法, }{同义

 

/{n/}
/{n,m/}
/{n,/}
/{,m/}
说明:右花括号前的转义字符 / 可不加

 

0 或多个

*

*

*

**, (要表达*,得用*)

*

*

*

1 或多个

+

+

+

++, (要表达+, 得用+)

+

/+

+

0 1

?

?

?

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

?

/? /=
说明:在反向查找的 ? 命令中不可用

?

任意字符

.

.

.

. .

. /s修饰后则含

.

.

匹配模式并获取结果

(pattern)

(pattern)

(pattern)

(pattern)(pattern) (要表达括号,( ) )

(pattern)

/(pattern/)

(pattern)

匹配模式但不获取结果

不支持

不支持

不支持

不支持

(?:pattern)

/%(pattern/)

(?:pattern)

强制不区分大小写

不支持

不支持

不支持

不支持

(?i)

/c

(?=pattern)

强制区分大小写

不支持

不支持

不支持

不支持

(?-i)

/C

(?=pattern)

零宽度匹配

不支持

不支持

不支持

不支持

(?=pattern)

pattern/@=

(?=pattern)

零宽度否匹配

不支持

不支持

不支持

不支持

(?!pattern)

pattern/@!

(?!pattern)

零宽度反向匹配

不支持

不支持

不支持

不支持

(?<=pattern)

pattern/@<=

 

零宽度反向否匹配

不支持

不支持

不支持

不支持

(?<!pattern)

pattern/@<!

 

无重试匹配(完整匹配)

不支持

不支持

不支持

不支持

(?>pattern)

pattern/@>

(?=pattern)

|

|

|

|| (要表达|,得用|)

|

/|

|

特定字符范围中的任意一个字符

[xyz]

[xyz]

[xyz]

[xyz]

[xyz]

[xyz]

[xyz]

[.ch.] [=ch=]

不支持

不支持

[.ch.]

不支持

不支持

不支持

不支持

单词边界

 

 

 

不支持

 

/< 左边界
/>
右边界

 

非单词边界

B

B

B

不支持

B

不支持

B

全字匹配

< >

< >

< >

不支持 (><><><同义

不支持(><><同义

/<word/>

不支持(><><同义

控制字符

不支持

不支持

cx

不支持

cx

不支持

cx

数字

不支持

不支持

不支持

不支持

d

/d

d

非数字

不支持

不支持

不支持

不支持

D

/D

D

换页

不支持

不支持

高版本支持

f

f

另义 f表示文件名字符

f

换行

不支持

不支持

不支持

 

 

 

 

回车

不支持

不支持

 

 

 

 

 

空白

不支持

不支持

不支持

不支持

s

/s

s

非空白

不支持

不支持

不支持

不支持

S

/S

S

制表符

不支持

不支持

高版本支持

 

 

/t

 

垂直制表符

不支持

不支持

高版本支持

v

v

另义 v表示very magic

v

单词字符[A-Za-z0-9_]

w

w

w

不支持

w

/w

w

非单词字符[^A-Za-z0-9_]

W

W

W

不支持

W

/W

W

十六进制

不支持

不支持

高版本支持

xn

xn

另义 x表示[0 -9A -Za-z]

xn

八进制

不支持

不支持

不支持

 

 

不支持

 

后向引用

 

 

 

仅取结果可用

 

仅取结果可用

 

字母和数字

[:alnum:]

[:alnum:]

[:alnum:]

[:alnum:]

[:alnum:]

[:alnum:]

不支持

字母

[:alpha:]

[:alpha:]

[:alpha:]

[:alpha:]

[:alpha:]

[:alpha:]

不支持

控制字符

[:cntrl:]

[:cntrl:]

[:cntrl:]

[:cntrl:]

[:cntrl:]

[:cntrl:]

不支持

数字

[:digit:]

[:digit:]

[:digit:]

[:digit:]

[:digit:]

[:digit:]

不支持

可打印字符(不含空格)

[:graph:]

[:graph:]

[:graph:]

[:graph:]

[:graph:]

[:graph:]

不支持

小写字母

[:lower:]

[:lower:]

[:lower:]

[:lower:]

[:lower:]

/l

不支持

可打印字符(含空格)

[:print:]

[:print:]

[:print:]

[:print:]

[:print:]

[:print:]

不支持

标点

[:punct:]

[:punct:]

[:punct:]

[:punct:]

[:punct:]

[:punct:]

不支持

空格

[:space:]

[:space:]

[:space:]

[:space:]

[:space:]

直接敲空格,跟普通字符一样

不支持

大写字母

[:upper:]

[:upper:]

[:upper:]

[:upper:]

[:upper:]

/u

不支持

十六进制数字

[:xdigit:]

[:xdigit:]

[:xdigit:]

[:xdigit:]

[:xdigit:]

[:xdigit:]

不支持

[:return:]

不支持

不支持

不支持

不支持

不支持

[:return:]

不支持

[:tab:]

不支持

不支持

不支持

不支持

不支持

[:tab:]

不支持

[:escape:]

不支持

不支持

不支持

不支持

不支持

[:escape:]

不支持

[:backspace:]

不支持

不支持

不支持

不支持

不支持

[:backspace:]

不支持

 

 

 

 

 

 

 

 



参考:http://blog.zol.com.cn/blog/wjf_top/20290.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值