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

前端之家收集整理的这篇文章主要介绍了各种工具之正则表达式语法比较前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_403_4@各种工具之正则表达式语法比较
在各种常用的工具中,
正则表达式如此的相似却又不同。
下表列出了一些常用的正则表达式,以及其不同之处。
项目总多,遗漏必有不少,请各位看官不吝指出。
以perl的正则为基准,不同的用法以粉红色标出。


@H_403_66@ \ @H_403_66@ \ @H_403_66@ ^ @H_403_66@ ^ @H_403_66@ $ @H_403_66@ $ @H_403_66@ {n} @H_403_66@ {n} @H_403_66@ * @H_403_66@ * @H_403_66@ + @H_403_66@ + @H_403_66@ ? @H_403_66@ ? @H_403_66@ (pat) @H_403_66@ (pat) @H_403_66@ (?:pat) @H_403_66@ (?=pat) @H_403_66@ (?!pat) @H_403_66@ | @H_403_66@ | @H_403_66@ [xyz] @H_403_66@ [xyz] @H_403_66@ 不支持 @H_403_66@ 不支持 @H_403_66@ \b @H_403_66@ \b @H_403_66@ \B @H_403_66@ \B @H_403_66@ 不支持(><和\>\<同义 @H_403_66@ \cx @H_403_66@ \cx @H_403_66@ \d @H_403_66@ \d @H_403_66@ \D @H_403_66@ \D @H_403_66@ \f @H_403_66@ \f @H_403_66@ \n @H_403_66@ \n @H_403_66@ \r @H_403_66@ \r @H_403_66@ \s @H_403_66@ \s @H_403_66@ \S @H_403_66@ \S @H_403_66@ \t @H_403_66@ \t @H_403_66@ \v @H_403_66@ \v @H_403_66@ \w @H_403_66@ \w @H_403_66@ \W @H_403_66@ \W @H_403_66@ \xn @H_403_66@ \xn @H_403_66@ [:alnum:] @H_403_66@ [:alpha:] @H_403_66@ [:cntrl:] @H_403_66@ [:digit:] @H_403_66@ [:graph:] @H_403_66@ [:lower:] @H_403_66@ [:print:] @H_403_66@ [:punct:] @H_403_66@ [:space:] @H_403_66@ [:upper:] @H_403_66@ [:xdigit:] @H_403_66@ 不支持
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\} 仅定义 --posix 或 --re-interval有效(要表达}和{,得用\\{和\\} 没有定义--posix或--re-interval时,不能用{n}的语法,\}\{和}{同义 {n}
{0,} *或\*,(要表达*,得用\\*) *
{1,203)"> \+ +或\+,(要表达+,得用\\+) +
\? ?或\?,(要表达?,得用\\?) ?
任意字符 . . 含\n. . /s修饰后则含\n . 除\n . 除\n
(pat) 匹配并获结果 \(pat\) (pat)或\(pat\) (要表达括号,用\\( \\) ) (pat)
(?:pat) 匹配但不获结果 不支持 (?:pat)
(?=pat) 等于预查 (?=pat)
(?!pat) 不等预查 (?!pat)
| 或 \| |或\| (要表达|,得用\\|) |
其中任意字符 [xyz]
[.ch.] [=ch=] [.ch.] 不支持
单词边界 \b \b
非单词边界 \B \B
单词左右边界 <> \< \> 不支持 (><和\>\<和\\>\\<同义 不支持(><和\>\<同义
控制字符 /cx \cx
数字\d \d
非数字\D \D
换页 \f 高版本支持 \f 另义 \f表示文件名字符
换行 \n \n
回车 \r \r
空白 \s \s
非空白 \S \S
制表符 \t \t
垂直制表符 \v \v 另义 \v表示very magic
单词字符 \w [A-Za-z0-9_] \w
非单词字符 \W [^A-Za-z0-9] \W
\xn 16进制 \xn 另义 \x表示[0-9A-Za-z]
\n 八进制 \n 后向引用 \n 仅取结果可用 [:alnum:] 字母和数字 [:alnum:] 不支持
[:alpha:] 字母 [:alpha:] [:cntrl:] 控制字符 [:cntrl:] [:digit:] 数字 [:digit:] [:graph:] 可打印字符(不含空格) [:graph:] [:lower:] 小写 [:lower:] [:print:] 可打印字符(含空格) [:print:] [:punct:] 标点 [:punct:] [:space:] 空格 [:space:] [:upper:] 大写字母 [:upper:] [:xdigit:] 16进制数字 [:xdigit:] [:return:] [:return:] [:tab:] [:tab:] [:escape:] [:escape:] [:backspace:] [:backspace:]
@H_282_502@

猜你在找的正则表达式相关文章