<?php

    //1.搜索数组中的相匹配的字符串
    //preg_grep() 返回一个数组
    $language = array("php","asp","jsp","python","ruby");

    //找出jsp,asp,php => 结尾匹配P
    $model = "/p$/";
    print_r(preg_grep($model, $language));
    echo "<hr>";

    //打印出开头为P
    $model = "/^p/";
    print_r(preg_grep($model, $language));
    echo "<hr>";

    //2.搜索模式,返回真或假。1,0;
    //preg_match();
    echo(preg_match("/php[1-6]/", "php7"));
    echo(preg_match("/php[1-6]/", "php2"));
    echo "<hr>";

    //电子邮件的小案例

    $model = "/([\w]{2,255})@([\w]{1,255})\.([a-z]{2,4})/";
    $email = "1056834607@qq.com";
    echo (preg_match($model, $email));

    $model = "/([\w]{2,255})@([\w]{1,255})\.([a-z]{2,4})/";
    $email = "gaoxiong@qqvvvvvvvvvvvvvv.xin";

    $model = "/([\w]{2,255})@([\w]{1,255})\.([a-z]{3,4})/";
    $email = "arraybuffer@foxmail.com";
    echo (preg_match($model, $email))."<hr>";//1

    //3.全局正则表达式匹配
    //preg_match_all()将字符串的所有匹配得到的结果放到一个数组
    preg_match_all("/php[1-6]/", "php5fffffphp6cccccphp3", $out);
    print_r($out);//$out是一个二位数组
    echo "<hr>";

    //4.定界正则
    // preg_quote()在内阁对于正则表达式语法而言有特俗含义的字符前插入一个反斜线,这些特俗字符包含:$ ^ * () [] {} | \\:<>
    echo(preg_quote("this is $50"))."<hr>";

    //5.替换模式
    //preg_replace()搜索到所有匹配,然后替换成想要的字符串返回出来
    echo preg_replace("/php[1-6]/", "python", "this is php5, this is php4")."\n<hr>";

    //6.贪婪和分组获取案例
    $model = '/\[b\](.*)\[\/b\]/U';
    $replace = '<strong>\1</strong>';//必须使用单引号
    $string = "this is [b]xiong[/b], this is [b]xiong[/b] ";
    echo preg_replace($model, $replace, $string)."\n<hr>";

    $model = '/<span>(.*)<\/span>/U';
    $replace = '<strong>\1</strong>';//必须使用单引号
    $string = 'this is <span>xiong</span>, this is <span>xiong</span>';
    echo preg_replace($model, $replace, $string)."<hr>";

    //6.以不区分大小写的方式来划分不同的元素
    //preg_split() 返回一个数组
    print_r(preg_split("/[\.@]/", "arraybuffer@qq.com"))

?>

php基础33:正则匹配-perl的更多相关文章

  1. Java基础--常用正则匹配符号(必背,必须背,死都要背)

    1.字母:匹配单个字母 (1)A:表示匹配字母A: (2)\\:匹配转义字符“\”: (3)\t:匹配转义字符“\t”: (4)\n:匹配转义字符“\n”: 2.一组字符:任意匹配里面的一个单个字符: ...

  2. Perl 正则匹配经验记录

    0.正则匹配字典:http://www.cnblogs.com/itech/archive/2010/03/19/1689793.html 1.$/=">";重新定义字符串分 ...

  3. Flask基础(3):session、flash、特殊装饰器、蓝图、路由正则匹配、上下文管理 & flask-session

    Session: Flask 默认将 session 以加密的形式放到了浏览器的 cookie 中 Flask 的 session 就是一个字典,字典有什么方法 session 就有什么方法 flas ...

  4. Python 基础之正则之二 匹配分组,正则相关函数及表达式修饰符

    四.匹配分组   [元字符] 分组符号 a|b   匹配字符a 或 字符b  (如果两个当中有重合部分,把更长的那个放前面) (ab)   匹配括号内的表达式 ,将()作为一个分组 num  引用分组 ...

  5. python_way day18 html-day4, Django路由,(正则匹配页码,包含自开发分页功能), 模板, Model(jDango-ORM) : SQLite,数据库时间字段插入的方法

    python_way day18 html-day4 1.Django-路由系统   - 自开发分页功能 2.模板语言:之母板的使用 3.SQLite:model(jDango-ORM) 数据库时间字 ...

  6. FPGA做正则匹配和网络安全,究竟有多大的优势?

    FPGA做正则匹配和网络安全,究竟有多大的优势? 西电通院专用集成电路课程学习 云导播 网络安全已经被提升为国家战略的高度,高校里面的新增的一级学科,去年9月份,中央网信办.教育部公布了“一流网络安全 ...

  7. python中正则匹配之re模块

    Python中正则表达式 re:re是提供正则表达式匹配操作的模块 一.什么是正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某个模式匹配,Python 自1.5版本起 ...

  8. MySQL全面瓦解8:查询的正则匹配

    概述 上一章 查询的过滤条件,我们了解了MySQL可以通过 like % 通配符来进行模糊匹配.同样的,它也支持其他正则表达式的匹配,我们在MySQL中使用 REGEXP 操作符来进行正则表达式匹配. ...

  9. php 正则匹配中文(转)

    我使用正则表达式来匹配中问的时候,出现了无法匹配的问题,问题如下 PCRE does not support \L, \l, \N{name}, \U, or \u at offset 2 我原来的匹 ...

随机推荐

  1. 【读书笔记】iOS-UIFont-动态下载系统提供的多种中文字体网址

    苹果可使用的字体列表: https://support.apple.com/zh-cn/HT202599 动态下载字体的代码demo: https://developer.apple.com/libr ...

  2. iOS 7中实现模糊效果

    本文译自iOS 7 Blur Effects with GPUImage. iOS 7在视觉方面有许多改变,其中非常吸引人的功能之一就是在整个系统中巧妙的使用了模糊效果.许多第三方应用程序已经采用了这 ...

  3. windows 编程中的常见bug

    错误 1 :   error LNK2001: 无法解析的外部符号 _WTSQueryUserToken@8 解决办法:   ——>查看链接器->输入->附加依赖项,依照debug模 ...

  4. js地理位置获取、显示、轨迹绘制

    JS新API标准 地理定位(navigator.geolocation) 基于 html5 geolocation来获取经纬度地址 Html5 Geolocation获取地理位置信息 HTML5获取地 ...

  5. 基于git的工作流程

    本文针对的是追求极致.快速的产品响应团队的.以下的观点和内容都是围绕这个主题,暂时不涉及个人学习和团队学习. 在说工作流程之间,想说一下我们平常工作中遇到的一些困惑或者说现象 在一个团队里,同时有好多 ...

  6. centos7 新手基本命令

    1. yum update 安装系统后,更新yum到最新版本 提示错误 :cannot find a valid baseurl for repo: base/7/x86_64 解决:修改/etc/s ...

  7. JAVA基础知识点:内存、比较和Final

    1.java是如何管理内存的 java的内存管理就是对象的分配和释放问题.(其中包括两部分) 分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对 ...

  8. jQuery Validate 表单验证插件----Validate简介,官方文档,官方下载地址

     一. jQuery Validate 插件的介绍 jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆 ...

  9. UEdit初始化加载内容偶尔失败,解决

    var ue1 = UE.getEditor('aaa',{toolbars: [],autoHeightEnabled: false}); $(function(){ var content =$( ...

  10. MySQL常用技巧

    1.查看MySQL版本信息: 1,登上 mysql>status; 2,登上 mysql>select version(); 3,登上 mysql> select @@version ...