木、木

导航

正则小记

定界符
        除:字母、数定、\以外都可以,一般使用//

原子
        在正则表达式中,可以单独使用的字符,都是原子
        能打印的(字母、数字、符号),不能打印的(换行、空格)
        有特殊意义的符号,要转义+  * ?  . ( )
        可以直接使用一些代表范围的原子
            \d 任意一个数字
            \w 字符  a-zA-Z0-9_
            \s 空白字符  空格、\t  \n \r  \f
            大写版本,反过来
        自定义原子表
            [123]  这是一个原子,只在一个匹配,就成功
            [0-9] 中间的"-"表示是一个范围
            [^0-9]  ^取反,只有^在[]中,才是这个意思

            \d     [0-9]
            \D     [^0-9]
            \w    [a-zA-Z0-9_]
            \W    [^a-zA-Z0-9_]
            \s    [\r\n\t\f\v ]
            \S    [^\r\n\t\f\v ]
        .  点
            默认情况下,能匹配除换行符以外的任意
元字符
        是特殊字符,用于修饰原子,不能单独出现
            * 被修饰的原子,可有可无 0 1 或多次
            +  1或多  至少有一个
            ?  要么有,要么没有  0 或1

            *   -->  {0,}
            +   -->  {1,}
            ?   -->  {0,1}

            {}   范围{n,m}   最少和最多的个数  
            ^   在中括号中表示取反
                写在最前面,必须以这个正则表达式开始
            $   写在最后面,表过必须以这个正则表达式结尾
            |   或者
            \b 边界
            \B 非边界
            () 
                改变优先级
                作为大原子
                *作为子模式使用
                    ?: 写在括号中,取消子模式
                *反向引用  \\1  表过用前面第一个()里的内容
        优先级
            \
            ()  (?:)   []
            * + ?  {} 
            ^  $  \b
            |
            
    模式修正符  放在定界符外  一次使用一个 
        用于对正则调优
        i 不区分大小写
        m 不加的情况下,字符串作为单行处理,加上会影响到$
        U 取消贪婪模式   或者在 .*  .+  的后面加上?    相互取消
        s 让.能代表换行符(.默认不能匹配换行符)
        x 删除正则中间的空格

 

posted on 2013-09-16 13:24  高严  阅读(171)  评论(0编辑  收藏  举报