<?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. 错误:升级为xcode8之后无法上网的解决方法

    主要是在info.list中增加以下的节点,因为XCode开始所有的http都转为https来联网了. 添加类型为Dictionary的:NSAppTransportSecurity 再添加节点为:N ...

  2. 谷歌浏览器Chrome安装,报0x80004002 等错误时,乖乖的这么解决!亲测有效。

    1.卸载现有的谷歌浏览器,推荐使用360卸载(最好清扫残留文件) 2.在百度搜索中下载一个离线的 chrome浏览器(准备在安全模式先安装),记住,一定不能是谷歌官网的离线包(我屡次尝试安装官方离线包 ...

  3. Web Service和WCF的到底有什么区别

    [1]Web Service:严格来说是行业标准,也就是Web Service 规范,也称作WS-*规范,既不是框架,也不是技术. 它有一套完成的规范体系标准,而且在持续不断的更新完善中. 它使用XM ...

  4. shell的查找与替换

    shell中做查找,grep是注定逃不开的. cat file | grep austin 就是在文档中查找Austin所在行. grep和正则表达式匹配之后,查找功能变得异常强大. 这个时候,要保证 ...

  5. shell 脚本关键字&符号

    shell概念 "shell"既是一种解释型编程语言,也是一个这种编程语言的解释器的名字 shell是解释型语言,就是解释器会一条一条的翻译每一条语句并执行,对比之下,C语言是编译 ...

  6. k-means算法初识

    基础知识: K-means聚类算法 聚类,简单地说就是把相似的东西分到一组.同 Classification (分类)不同,对于一个 classifier ,通常需要你告诉它“这个东西被分为某某类”. ...

  7. C++ 第一个C++程序

    #include <iostream> // C++自带的标准头文件都是没有.h的 // 就相当于C语言的<stdio.h> // 提前使用命名空间std using name ...

  8. DB String Split sample

    以sqlserver为例进行说明,代码稍加修改,可以用于ORACLE. 字符串的拆分和聚合是数据库开发人员比较常见的任务. 关于字符串的聚合和拆分,sqlserver的标准解决方案是for xml p ...

  9. OpenStack三个节点icehouse-gre模式部署

    一.环境准备 1.架构 创建3台虚拟机,分别作为controll节点.network节点和compute1节点. Controller节点:1processor,2G memory,5G storag ...

  10. EM basics- the Maxwell Equations

    All the two important problems that the EM theory trys to describe and explain are propogation and r ...