• 正则表达式


    正则:检测字符串的一种规则。简写成  /规则/

    字符串和正则有关的方法

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

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

        Replace()   在字符串中查找匹配的子串,并替换与正则表达式匹配的子串。如果检索到   返回替换后的新字符串   如果没有检索到,返回原字符串

    字符串的检索分两种结果:

        第一种是查找型,查找到一次就终止,不会在查找

        第二种是捕获型,捕获型也分两种,一个是捕获最先出现的,一种是捕获所有相匹配的。

    正则对象的两个方法

        test()    检索字符串 中指定的值,返回true或false

        exec()  检索字符串中指定的值,返回一个数组,有找到的值,返回其位置,没有就返回null

    正则的性质

        正则的懒惰型:正则在捕获的时候,当第一次捕获成功了,就直接返回,不在向下捕获,这就是正则的懒惰型。

               解决方法:在正则的后面加上修饰符   /g  

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

               解决方法:+代表一个或多个数字   ?代表0个或1个     在+后面跟?  /d+?/  就可以解决。

    正则表达式的字符

    i    执行对大小写不敏感的匹配
    g 执行全局匹配
    m 执行多行匹配

    d 查找数字
    s 查找空字符
     查找单词边界

    n+ 匹配任何包含至少一个n的字符串
    n* 匹配任何包含0个或多个n的字符串
    n? 匹配任何包含0个或1个n 的字符串

    php的正则表达式

        preg_match    执行一个正则表达式匹配

     $str="helloworld";
     $reg="/hello/";
     echo preg_match($reg,$str);    //返回值有0或1   找不到符合条件的就是 0  查找到就是 1

        preg_match_all    执行一个全局正则表达式匹配

    $str="helloworldhello1811hello";
    $reg="/hello/";
    echo preg_match_all($reg,$str);    //返回值有 0 或 n  n代表匹配到符合条件的总次数    0 就是没查到

        preg_replace    执行一个正则表达式的搜索和替换

    $str="['hello','456']";
    $reg="/hello/";
    var_dump( preg_replace($reg,"world",$str));    //第二个参数表示替换的单词   第三个参数表示替换后的结果

        preg_split    通过一个正则表达式分割字符串

    $str="123helloworldhello1811helloweb";
    $reg="/hello/";
    var_dump(preg_split($reg,$str));    //返回切割后的字符串
  • 相关阅读:
    Delphi中多标签页面的实现
    选择排序
    关于Delphi中TRttiContext.FindType失效的问题
    Delphi中拖动无边框窗口的5种方法
    集中精力做最有价值的事情,而不必把主要精力都浪费在自我包装上(例如学位,头衔,自吹自擂)——沉痛反思:我以前还真是这样
    QModelIndex有internalPointer()函数,可以存任何数据,另有QAbstractItemModel::createIndex来创造节点
    沉没成本——无法收回的成本,但不要影响下一次决策
    使用HttpURLConnection实现多线程下载
    Delphi6/7 中XML 文档的应用
    delphiXE调用Objective-c库
  • 原文地址:https://www.cnblogs.com/dengpu/p/11392405.html
Copyright © 2020-2023  润新知