正则迷雾,各种工具之正则表达式语法比较

在网上看到的,虽然是04年的貌似,也么的elisp里面的,不过grep、sed、awk是很有用的说

在各种常用的工具中,
正则表达式如此的相似却又不同。
下表列出了一些常用的正则表达式,以及其不同之处。
项目总多,遗漏必有不少,请各位看官不吝指出。
以perl的正则为基准,不同的用法以粉红色标出。
(xhchen8018@yahoo.com.cn)

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个 / /或/ 仅定义 --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/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:]不支持
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值