找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索本站精品资源

首页 教程频道 php教程 查看内容

请问正则必须包含怎么匹配呢

作者:模板之家 2020-3-29 12:34 133人关注

请教正则必须包含如何匹配呢正则:a(.*)href=(.*)divclass=\"plst\"b(.*)/b/div/a内容:listr/li,请问正则必须包含怎么匹配呢

请教正则必须包含如何匹配呢
正则:
(.*)

内容:
  • str
  • 标题一
  • 标题二

    目标:(必须包含)
    标题二


    当前错误结果:(匹配成了整段了)
    标题一标题二

    ------解决方案--------------------
    加上 U,禁止贪婪
    ------解决方案--------------------
    是这个意思吗

    $str = '
  • str
  • 标题一
  • 标题二';
    preg_match_all("/(.*)<\/b><\/div><\/a>/is",$str,$match);
    echo "
    ";
    print_r($match);

    ------解决方案--------------------
    给个提醒
    匹配一些有边界的内容,应以 边界+排除边界+边界 这样的形式写正则,避免随意地用圆点
    尤其是html等标记语言,因为标记语言的特性就是标记,中间含有换行也是合法的,圆点不能涵盖,随便用圆点就有点想当然认为源字串一定工整了
    举个极端例子如:
     href="
    abc/abc.html">
    ABC

    这段html字串完全合法,一点都不影响网页的显示,但正则就要想好了

    "[^"]*"
    <[^>]+>
    [^<]*

    ------解决方案--------------------
    $s =<<< TXT
  • str
  • 标题一
  • 标题二
    TXT;
    preg_match('/.+()/is', $s, $m);
    echo $m[1];
    标题二

    路过

    雷人

    握手

    鲜花

    鸡蛋
    原作者: 互联网 来自: 网络收集

    全部回复(0)