zoukankan      html  css  js  c++  java
  • PHP正则表达式学习笔记

    1.0.1 preg_match()函数语法

    int preg_match(string $pattern, string $subject, [, array &matches [, int $flags = 0, [int $offset = 0]]])
    

     搜索 subject 与 pattern 给定的正则表达式的一个匹配
     参数说明:

    • pattern:要搜索的模式,字符串类型
    • subject:输入字符串
    • matches:可选参数,matches[0]为完整模式匹配到的文本,matches[1]为第一次匹配到的文本
    • flags:可以是标记值:PREG_OFFSET_CAPTURE,对于每个字符串匹配返回时,都会附加字符串偏移量(这样会改变填充到matches的数组,使其每个元素为一个数组,数组的第0个元素为匹配到的文本,第1个元素为该字符串在输入字符串中的偏移量)
    • offset:可选参数,指定在输入字符串中开始搜索的位置,默认为从输入字符串的开始位置开始搜索

    preg_match()函数将返回pattern的匹配次数。返回值是0或1,preg_match()执行一次匹配后就停止,如果发生错误将返回False

    例子1:

    <?php
        $subject = "I like php";
        $pattern = "/like/i";
        echo preg_match($pattern, $subject);    //输出匹配的次数
    ?>
    

    输出结果
    1

    例子2($matches):

    <?php
        $subject = "I like php";
        $pattern = "/like/i";
        preg_match($pattern, $subject, $matches);
        print_r($matches);
    ?>
    

    输出结果:

    Array ( 
        [0] => like     //匹配结果
        )
    

    例子3($matches, PREG_OFFSET_CAPTURE):

    <?php
        $subject = "I like php";
        $pattern = "/like/i";
        preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE);
        print_r($matches);
    	echo '<br><br>';
    	echo $matches[0][0];
    ?>
    

    输出结果:

    Array ( 
        [0] => Array (      //第一个匹配
            [0] => like     //匹配结果
            [1] => 2        //偏移位置
    ) )
    
    like          //匹配结果
    
  • 相关阅读:
    如果经常访问国外站
    CouchDB降临Android
    ubuntu server操作流程百岁版
    开源HTML解析工具包jsoup 1.3.1发布
    LEMP aka LNMP
    VC编译选项
    gae地址
    feedparser 同步博客园rss到 qq zone
    跨系统共享键盘鼠标利器分享:synergy
    支持ff,ie的回车提交
  • 原文地址:https://www.cnblogs.com/g0udan/p/12037715.html
Copyright © 2011-2022 走看看