• php 正则表达式二.基本语法


    官方手册正则语法:http://php.net/manual/zh/reference.pcre.pattern.syntax.php

    正则表达式在线测试工具:regexpal

    正则表达式的匹配先后顺序:
    1.模式单元
    2.重复匹配 ? * + {}
    3.边界限定 ^ $ b B
    4.模式选择 |

    1.分隔符:当使用 PCRE 函数的时候,模式需要由分隔符闭合包裹。分隔符可以使任意非字母数字、非反斜线、非空白字符。

      例子:

        /foo bar/   #^[^0-9]$# 

      如果分隔符需要在模式内进行匹配,它必须使用反斜线进行转义。如果分隔符经常在 模式内出现, 一个更好的选择就是是用其他分隔符来提高可读性

      可以在结束分隔符后面增加模式修饰符。 下面的例子是一个大小写不敏感的匹配:   #[a-z]#i

     

    2.php中的原子

      什么是原子?原子是正则表达式的最基本组成单位,而且必须至少要包含一个原子。只要一个正则表达式可以单独使用的字符,就是原子。  分为可见原子,不可见原子:

      可见原子:Unicode编码表中键盘输出后肉眼可见的字符

        标点  ;">_等等

        英文字母   a-z,A-Z,0-9

        汉字,日文,阿拉伯文等其他语言

        数理化公式符号:Σ、∩、∈、∥、≌、△  

        其他可见字符

      不可见原子:Unicode编码表中键盘输出后肉眼看不见的字符 

       换行符

       回车符

       制表符

       空格

         其他不可见字符

    3.元字符的筛选方式:

      |:匹配两个或者多个分支选择

      []:匹配方括号中的任意一个原子

      [^]:匹配出方括号中的原子之外的任意字符

    4.原子的集合

      . :匹配除换行符之外的任意字符

      d:匹配任意一个十进制的数字,即[0,9]

      D:匹配任意一个非十进制的数字,即[^0-9]

      s:匹配一个不可见原子,即[f v]

      S:匹配一个可见原子,即[^f v]

      w:匹配任意一个数字,字母,下划线,即[0-9a-zA-Z]

      W:匹配任意一个非数字,字母,下划线,即[^0-9a-zA-Z]

    5.量词

      {n},表示其前面的原子恰好出现n次

      {n,m},表示其前面的原子最少出现n次,最多出现m次

      {n,},表示其前面的原子最少出现n次

      *,匹配0次,1次或者出现多次,{0,}

      +,匹配1次m,或者多次,{1,}

      ?,匹配0次,或者1次{0,1}

     6.模式单元
      (),  a(bc)*,匹配a后面跟0个或者多个bc
  • 相关阅读:
    (原创)C++ IOC框架
    【教训】为什么不作备份?!
    【教训】php pcntl_fork无法在web服务器环境下使用
    PHP多进程处理并行处理任务实例
    mysql数据库授权
    PHPUnit学习03使用Mock对象解决测试依赖
    [Inside] How to solve one problem?
    [Inside] What’s the assumptions you are making
    算法面试题解答(六)
    [Inside] System Thinking
  • 原文地址:https://www.cnblogs.com/tumio/p/4850530.html
Copyright © 2020-2023  润新知