php preg_库正则匹配

<?php
    //preg_库提供的正则
    preg_match();//进行正则表达式匹配
    /*
        preg_match (pattern , subject, matches)

            参数    描述
            pattern    正则表达式
            subject    需要匹配检索的对象
            matches    可选,存储匹配结果的数组
    ***************************************
    *提示
    *        preg_match() 第一次匹配成功后就会停止匹配,如果要实现全部结果的匹配,即搜索到subject结尾处,则需使用 preg_match_all() 函数。
    */

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

    preg_replace();//执行正则表达式的搜索和替换
    /*
        preg_replace (pattern ,replacement ,subject,limit,count )
            参数    描述
            pattern    正则表达式(字符串或字符串数组)
            replacement    用于替换的字符串或字符串数组
            subject    要进行搜索和替换的字符串或字符串数组。
            limit    可选。每个模式在每个subject上进行替换的最大次数。默认是 -1(无限)。
            cout    可选。完成的替换次数

    */

    preg_split();//执行正则表达式分割字符串
/*
        preg_split(pattern,subject,limit,flags)

        参数    描述
        pattern    正则表达式
        subject    待分割字符串
        limit    限制分割得到的子串最多只有limit个
        flags    PREG_SPLIT_NO_EMPTY
        如果这个标记被设置, preg_split() 将进返回分隔后的非空部分。
        PREG_SPLIT_DELIM_CAPTURE
        如果这个标记设置了,用于分隔的模式中的括号表达式将被捕获并返回。
        PREG_SPLIT_OFFSET_CAPTURE
        如果这个标记被设置, 对于每一个出现的匹配返回时将会附加字符串偏移量. 注意:这将会改变返回数组中的每一个元素, 使其每个元素成为一个由第0 个元素为分隔后的子串,第1个元素为该子串在subject 中的偏移量组成的数组。
*/

    preg_grep();//返回与模式匹配的数组单元
    /*
        preg_grep(pattern, input,$flags)

        参数    描述
        pattern    字符串、正则表达式/td>
        input    待匹配数组
        flag    可选。该参数如果设置为PREG_GREP_INVERT,则这个函数返回输入数组中与给定模式pattern不匹配的元素组成的数组。
    */

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

    /*
        preg_replace_callback(pattern ,callback,subject,limit,count)

        参数    描述
        pattern    正则表达式
        callback    回调函数,在每次需要替换时调用,调用时函数的参数是从subject 中匹配到的结果。
        subject    要搜索替换的目标字符串或字符串数组。
        limit    最大可替换次数。 默认是-1(无限制)。
        count    替换执行的次数
    */
时间: 2024-08-11 22:17:07

php preg_库正则匹配的相关文章

pcre库编写的正则匹配程序

使用的是Philip Hazel的Perl-Compatible Regular Expression库,参考: http://see.xidian.edu.cn/cpp/html/1428.html 执行匹配的时: gcc myreg.c ip.pat 内容: ip.*[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+ ip.txt 内容: 192.168.1.1 测试: ./a.out ip.pat ip.txt 下面是myreg.c源代码 /*  myreg.c  */ #inc

php正则匹配用户名必须包含字母和数字且大于6位

php正则匹配用户名必须包含字母和数字且大于6位 UEditor 1.4.3版本中去掉本地自动保存功能 右键菜单没有新建文本文档txt 常见HTTP错误代码大全 http常见状态码 eclipse内存溢出错误 为什么井盖是圆的?--揭开面试题的神秘面目! Linux Centos 6.6搭建SFTP服务器 密码强度检测 JS判断检测用户输入密码强度代码 对程序员来说,提高薪水最好的建议是什么? CSS3仿淘宝右侧固定导航悬浮层 jQuery仿淘宝网登录拖动滑块验证码代码 jQuery单击div更

关于php中正则匹配包括换行符在内的任意字符的问题总结

要使用正则匹配任意字符的话,通常有以下几种方法,这里我分别对每一种方法在使用的过程中做一个总结: 第一种方式:[.\n]*? 示例 ? PHP preg_match_all('/<div class="list">[.\n]*?<\/div>/i', $content, $data); 按道理这种方式应该是可以的,但我测试发现不行,因为这里中括号里面的“.”被当作一个普通的英文句号去处理了,而不是通配符,因此这里只能匹配到包含英语句号及换行符在内的任意内容了.

python 爬蟲 解析/正则匹配/乱码问题整理

今日爬取一听/扬天音乐都遇到了某些问题,现在对爬取过程中遇到的问题,做对于自己而言较为系统的补充与解释.主要问题有一下几点: 一:beautiful,urllib等库进行网页解析时,对于目标下的东西无法进行解析与显示 二:正则匹配虽然看过许多,但实际使用时仍然不够熟练,需要大量参考,故而,打算重新整理 三:对于乱码问题,曾在建mysql数据库时,头疼多次,现打算对于网页解析的乱码处理方法做些整理 这次目标是爬取扬天音乐"http://up.mcyt.net/",需要获取的内容有:歌曲名

awk结合正则匹配

利用awk分析data.csv中label列各取值的分布. 在终端执行head data.csv查看数据: 1 name,business,label,label_name 2 沧州光松房屋拆迁有限公司,旧房拆迁.改造:物业服务(依法须经批准的项目,经相关部门批准后方可开展经营活动),E4,建筑装饰和其他建筑业 3 上海托帕化工材料有限公司,"从事化工材料领域内的技术开发.技术转让.技术咨询.技术服务.化工原材料及产品(除危险化学品.监控化学品.烟花爆竹.易制毒化学品.民用爆炸物品).机械设备.

关于Boost,C Regex对短目标字符串正则匹配的性能分析

昨天对长目标字符串下的各种正则匹配库性能进行了总结,得出结论是Boost regex性能最佳.今天将其应用到项目当中,果不其然,长字符串匹配带来的性能损失基本没有了,当然,目前规模并不算太大,但是在可预计规模内Boost可以完全达到要求. 不过有一点,在Boost,C同时去除长字符串匹配的影响后,剩下都是短字符串匹配,发现Boost比C好的并不是好很多,例如10000+次短字符匹配中,其中包含匹配成功和不成功的,Boost regex+系统其他模块用时130ms左右,而C regex+系统其他模

iOS 中的正则匹配(工具类)

正则表达式 正则表达式是对字符串操作的一种逻辑公式, 用事先定义好的一些特定字符.及这些特定字符的组合, 组成一个"规则字符串", 这个"规则字符串"用来表达对字符串的一种过滤逻辑, 正则表达式就是用于描述这些规则的工具, 或者说, 正则表达式就是记录文本规则的代码. 在开发中, 我们经常会有查找符合某些复杂规则的字符串的需要, 比如数据校验: 判断用户的输入是否合法(如:用户注册的时候,QQ号码,电话号码,邮箱是否符合要求) 下面让我们先来看看正则匹配常用的一些字

利用Python正则匹配中文——爬取校园网公告栏中感兴趣的内容

写这个程序是因为校园网公告栏时不时会有学术报告,讲座之类的信息发布,但这类信息往往发布在讲座的前一天,以至于丢失很多重要消息.同时公告栏里也会发布一些跟学生无关的内容,比如工会主席会议啥的. 主要遇到的困难时对中文的正则匹配问题.(比如通过第一次正则可以提取到一个页面内的所有中文标题,第二次正则从这些中文标题中将能匹配上“报告”两个字的对象添加到结果list内) 学校公告页面是gb2312编码.我使用的方式是,整个工程使用utf-8编码,将需要匹配的关键字转换成utf-8编码格式,使用正则匹配u

js截取相应的域名----正则匹配法 和校验Url 正则表达式

js截取相应的域名----正则匹配法 和校验Url 正则表达式 用javascript截取相应的域名方法两种,供大家参考 1.方法1: [javascript] view plain copy function domainURI(str){ var durl=/http:\/\/([^\/]+)\//i; domain = str.match(durl); return domain[1]; } 调用:var domain=domainURI(document.location.href);