• PHP 正则表达式


      PHP 中有两套正则库;PCRE和POSIX;PHP5.3以后不在提倡用POSIX 然而POSIX字眼却也是经常看见的,比如在一些Linux工具书中;

          正则的组成:一般而言包括,分隔符,表达式,修饰符;

          元字符:表达式中具有特殊记忆的字符;就像我们Java中的class这样的字眼;

          .      匹配出换行符外任意字符

          w    匹配字母或者数字或者下划线或者汉字

          s     匹配任意空白字符

          d     匹配数字

               匹配单词的开始或者结束

          ^      匹配字符串的开始  

          $      匹配字符串的结束

          -      表示范围 比如 [a-z]  

          []     表示括号中任意一个字符 分组符

          *  +   ? 量词   * 表示重复0次或者更多次 +表示重复一次或者更多次 ?表示重复0次或者1次 另外{}  {7}表示重复7次 {7,}重复7次以上 {7,10}表示重复6次以上11次以下

          一些表达式帮助理解

          cw*       表示开头的字符 不如canada candu c_ds_ds   

           d+              表示可以正负无穷的数子

           w{8}     表示长度为8的单词

            0dd - ddddddd   表示类似 030 - 0392393 这样 等价于 0d{2} - d{7}

        转义:去掉齐被赋予的含义,看成普通字符;用 比如* * 另外Q E 之间的任意元字符都会当成普通字符看待

                    另外字符组中所有表示非单个的元字符都会看成普通字符,因为字符组匹配单个;

            反义:取反;

            w  反义为W d D s S  B [^x] 处x 意外任意字符 

            分支:()分支就是在分组的单个层面上扩展为了多个;例如(a|vn|cnm)at 匹配aat vmat cnmat

            反向引用:重复搜索匹配,某个分组匹配的文本;如果未给分组命名的情况下,按照从左至右的顺序依次编号为1 2 3 4..... 也可以命名例如(?<same>w+)s + k<same> 这样可以匹配go go pity pity 这样的

            环视:四种模式 顺序肯定环视(?=exp);逆序肯定环视(?<=exp);顺序否定环视(?!exp),逆序否定环视(?<!exp);

                    abcdefg  .*(? <=abc)  将匹配defg

                    逆序是查看自身位置的前面 顺序是自身位置后面 后面表现在位置左边 前面表现为位置右边

            贪婪/懒惰匹配模式:一个是尽可能多的匹配一个是尽可能少的匹配 比如、a .* b 如果匹配abcbcb 会整个匹配abcbcb 这就是贪婪 如果a.*? b 就是懒惰模式了

            

            

            

             

            

             

    积累知识,分享知识,学习知识。
  • 相关阅读:
    android开发(1) 登录界面的布局演示
    android开发(5) 动态生成控件
    android开发(6) 初遇handler
    android开发(2) 九宫格的实现
    android开发(8) 选项卡的切换
    android开发(9) 渐变动画演示(Tween Animation)
    android开发(8) 使用ViewFlipper来用手势切换画面
    css textarea固定大小不显示滚动条
    css zindex
    js ie input onchange事件兼容BUG
  • 原文地址:https://www.cnblogs.com/bin-pureLife/p/4706035.html
Copyright © 2020-2023  润新知