• php正则


    正则:检测字符串的一条规则

    Json本质还是字符串

    正则的定义 简写 /规则/ 比如/45613/检测字符串必须有45612;

    字符串和正则有关的方法。

    Match()  查找找到一个或多个正则表达式的匹配 有就返回查找的结果 没有就是null

    语法:string.match(reg)

    Search() 查找与正则表达式相匹配的值 检索不到返回-1 返回查找的字符首次在字符串中的位置

    Replace()在字符串中查找匹配的子串 并替换与正则表达式匹配的子串

    如果检索到 返回替换后的新字符串 如果没有检索到 返回字符串

    语法:string.searc(red)

    注意的

       1.字符串中的. 在正则中如果就代表一个. 需要转义.

       /./ 代表任意一个字符 /./代表一个.

       2.

    正则对象的两个方法

       Text()  检索字符串中指定的值 返回truefalse

       语法 reg.test(string)

       Exec()  检索字符串中指定的值 返回一个数组 有找到的值并确定其位置找不到返回null

    正则的特征

       1.正则的懒惰性:

          正则在捕获的时候 当第一次捕获成功了  就直接返回 不再向下捕获 这就叫正则的懒惰性

       解决正则的懒惰性

       在正则的后面加上修饰符/g

       2.正则的贪婪性:

        /d+/去捕获一个字符串中的数字 他会尽可能多的捕获全部符合条件的 这叫正则的贪婪性

     

    解决正则的贪婪性 /d+/ +代表1个或多个 ?代表0个或1

    +后面跟一个? /d+?/

    解决正则的贪婪性

     

     

     

     

     

     

    字符串检索 分两种结果

    第一种是查找型 查找到就终止 不会向下继续查找

    第二种是捕获型 分两种 第一是捕获首次出现的  第二种是捕获所有的/g

    分组捕获 () 这是分组捕获的标志 将大正则分组成几个小正则 在正则中1 代表第一个分组 2代表第二个分组

       比如: /(a)(b)12/ 代表abab这个规则

    在分组捕获中

    结果即返回了大正则的捕获结果 也返回了小正则的捕获结果

       如果不想捕获某一个分组中的内容 在对应的分组中的前面加上?: 就可以了同时分组引用(12)也失效

    一旦分组捕获成功 在正则的类上会给$1 $2 等赋值

    RegExp $1 也是分组引用

    1 也是分组引用 只能在正则中起作用

    Php的正则方法

      Preg_match()执行一个正则表达式匹配

    参数1reg 参数2string  返回值是01  查到就是1  查不到就是0

    Preg_match_all() 执行一个全局正则表达式匹配

    参数1 reg  参数2string 返回值是0n n 是查找到总次数 0 是没有查到

    Preg_replace()执行一个正则表达式的搜索和替换

    参数1reg 参数2newstring 参数3

  • 相关阅读:
    Atitit.执行cli cmd的原理与调试
    Atitit. IE8.0 显示本地图片预览解决方案 img.src=本地图片路径无效的解决方案
    SlidingDrawer的简单实例(抽屉效果)
    Android android.intent.category解析
    layout中加载gif图片
    Java 中 Vector、ArrayList、List 使用深入剖析
    定时器的简单实例
    supportsscreens
    Android屏幕元素层次结构
    panel的抽屉效果
  • 原文地址:https://www.cnblogs.com/ymlo/p/11392227.html
Copyright © 2020-2023  润新知