zoukankan      html  css  js  c++  java
  • 正则迷雾,各种工具之正则表达式语法比较--http://blog.chinaunix.net//article.php?articleId=2466&blogId=634

    在各种常用的工具中,
    正则表达式如此的相似却又不同。
    下表列出了一些常用的正则表达式,以及其不同之处。
    项目总多,遗漏必有不少,请各位看官不吝指出。
    以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:] 不支持


    看不懂。。先放着
  • 相关阅读:
    存储那些事儿(二): 下一代Linux文件系统BTRFS简介
    RabbitMQ消息队列的小伙伴: ProtoBuf(Google Protocol Buffer)
    RabbitMQ消息队列(七):适用于云计算集群的远程调用(RPC)
    RabbitMQ消息队列(六):使用主题进行消息分发
    C++内存管理之shared_ptr
    C++程序调试方式总结
    匿名对象?临时对象?
    C++多态中虚函数表合并与继承问题
    C++继承体系中的内存分段
    C++继承体系中的内存对齐
  • 原文地址:https://www.cnblogs.com/goodloop/p/172924.html
Copyright © 2011-2022 走看看