[引用] 各种工具之正则表达式语法比较 (转载)

[引用] 各种工具之正则表达式语法比较

转载自   http://blog.chinaunix.net/u/634/showart.php?id=2466
在各种常用的工具中,
正则表达式如此的相似却又不同。
下表列出了一些常用的正则表达式,以及其不同之处。
项目总多,遗漏必有不少,请各位看官不吝指出。
以perl的正则为基准,不同的用法以粉红色标出。


grep 2.5.1egrep 2.5.1sed 3.02
sed 4.07
awk 3.1.1perl 5.8.0vim 6.1JavaScript ??
转义///////
行头^^^^^^^
行尾$$$$$$$
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:]不支持
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux正则表达式是一种用来匹配文本内容的表达式,它可以方便地在Linux系统中进行文本处理和搜索。下面是一份Linux正则表达式大全,包括常用的正则表达式语法和示例: 1. 字符匹配 正则表达式语法:字符 示例: * 匹配单个字符: ``` a 匹配'a'字符 ``` * 匹配多个字符: ``` [abc] 匹配'a'、'b'或'c'字符 [^abc] 匹配除'a'、'b'、'c'以外的任意字符 [a-z] 匹配小写字母a到z中的任意一个字符 [A-Z] 匹配大写字母A到Z中的任意一个字符 [0-9] 匹配数字0到9中的任意一个字符 ``` 2. 重复匹配 正则表达式语法:字符+、字符*、字符? 示例: * 匹配多个字符: ``` a+ 匹配一个或多个'a'字符 a* 匹配零个或多个'a'字符 a? 匹配零个或一个'a'字符 ``` 3. 边界匹配 正则表达式语法:^、$ 示例: * 匹配行首和行尾: ``` ^a 匹配以'a'字符开头的行 a$ 匹配以'a'字符结尾的行 ``` 4. 逻辑匹配 正则表达式语法:字符1|字符2 示例: * 匹配两种字符中的任意一种: ``` a|b 匹配'a'或'b'字符 ``` 5. 分组匹配 正则表达式语法:(字符) 示例: * 匹配分组中的字符: ``` (a) 匹配'a'字符 ``` 6. 转义字符 正则表达式语法:\字符 示例: * 匹配特殊字符: ``` \. 匹配'.'字符 \* 匹配'*'字符 \+ 匹配'+'字符 \? 匹配'?'字符 \( 匹配'('字符 \) 匹配')'字符 ``` 以上是Linux正则表达式的常用语法和示例,可以根据实际需求进行学习和使用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值