现在的位置: 首页 > 综合 > 正文

正则表达式比较

2014年02月02日 ⁄ 综合 ⁄ 共 907字 ⁄ 字号 评论关闭

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

 

 

grep 2.5.1

egrep 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]

抱歉!评论已关闭.