码迷,mamicode.com
首页 > 其他好文 > 详细

基础知识

时间:2018-07-20 18:08:11      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:php正则   正则表达   必须   gre   分割   数组   空白   结束   替换   

一、什么是正则表达式?

  正则表达式是用于描述字符排列和匹配模式的一种语法规则,主要用于字符串的模式分割、匹配、查找及替换操作

二、为什么使用正则表达式?

  PHP有一套非常丰富的字符串处理函数,但是这些函数还远远不够,满足不了对字符串处理的要求,这时需要使用正则表达式对字符串进行分割、匹配、查找、替换

三、什么时候使用正则表达式?

  ①表单的验证

  ②伪静态(URL重写)

  ③文章内容的采集

四、如何使用正则表达式?

  1、PHP正则表达式的函数库:PCRE(推荐,兼容Perl,大多数语言都使用这套库)、POSIX

    PCRE库:

      preg_match()  进行正则表达式匹配

      preg_match_all()  进行全局正则表达式匹配

      preg_replace()  执行正则表达式的搜索和替换

      preg_split()  用正则表达式分割字符串

      preg_grep()  返回与模式匹配的数组单元

      preg_replace_callback  用回调函数执行正则表达式的搜索和替换

  2、正则表达式的语法规则的组成部分

    ①定界符

      除了数字、字母和反斜线“\”之外的特殊字符均可作为定界符,一般使用斜线“/”

    ②原子

      1.普通字符:"/a~z/"  "/A~Z/"  "/0~9/"

      2.特殊字符:"/\"/"  "/\‘/"  "/\*/"  "/\+/"  "/\?/"  "/\./"

      3.非打印字符:"/\n/"  "/\f/"  "/\r/"  "/\t/"  "/\v/"  "/\cx/"

      4.通用字符:

        "/\d/"  匹配任意的一个数字

        "/\D/"  匹配除数字之外的任意字符

        "/\w/"  匹配数字、大小写字母、下划线

        "/\W/"  匹配除了数字、字母、下划线的字符

        "/\s/"   匹配空白符(非打印字符、空格)

        "/\S/"  匹配除空白符之外的任意字符

      5.匹配中文:"/[\u4e00-\u9fa5]/"

    ③元字符

      *    匹配0次、1次或多次其前的原子

      +    匹配1次或多次其前的原子

      ?    匹配0次或1次其前的原子

         匹配除换行符之外的任意一个字符

      |    或

      {n}    其前的原子出现恰好等于n次

      {n,}    其前的原子出现≥n次

      {n,m}    其前的原子出现次数≥n,≤m

      ^ 或 \A    匹配输入字符串的开始字符,必须以其后的原子开头

      $ 或 \Z    匹配输入字符串的结束字符,必须以其前的原子结尾

      \b    匹配单词开头或结尾的所含字母,该单词必须包含该字母(\b放开头则匹配开头,放结尾则匹配结尾)

      \B    匹配单词开头或结尾不可含的字母,且该单词还必须包含该字母(\B放开头则匹配开头,放结尾则匹配结尾)

      [ ]    匹配方括号中的任一原子,方括号中的特殊字符可自动转义为无特殊意义的原字符,无需用“\”转义

      [^]    匹配方括号中原子以外的任一字符

      ( )    将括号中的多个原子组成为一个整体原子(模式单元)

      .*    贪婪模式,会重复匹配原子值

      .*?    取消贪婪模式,只匹配首次匹配到的原子值 

  

  

基础知识

标签:php正则   正则表达   必须   gre   分割   数组   空白   结束   替换   

原文地址:https://www.cnblogs.com/zhouwanqiu/p/9342875.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!