<?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. JAVA基础学习day15--集合二 TreeSet和泛型

    一.TreeSet 1.1.TreeSet Set:hashSet:数据结构是哈希表.线程是非同步的.        保证元素唯一性的原理:判断元素的HashCode值是否相同.         如果 ...

  2. QA:java.lang.RuntimeException:java.io.FileNotFoundException:Resource nexus-maven-repository-index.properties does not exist.

    QA:java.lang.RuntimeException:java.io.FileNotFoundException:Resource nexus-maven-repository-index.pr ...

  3. 关于touch事件对于性能的影响

    第一次写博客随笔,废话不多说,直接进入正题. 最近一直专注于移动终端的开发,碰到了一个比较棘手的事情,就是touch事件,大家都知道,touch事件有几种,无非就是touchstart,touchmo ...

  4. JavaScript Patterns 4.4 Self-Defining Functions

    If you create a new function and assign it to the same variable that already holds another function, ...

  5. html页面识别当前系统和语言

    项目中需要一个下载功能,根据系统跳转到不同的页面,如iphone跳转到IOS页面,android跳转到android页面. 下面为页面判断页面: <!DOCTYPE HTML> <h ...

  6. PHP中IP地址与整型数字互相转换详解

    这篇文章主要介绍了PHP中IP地址与整型数字互相转换详解,本文介绍了使用PHP函数ip2long与long2ip的使用,以及它们的BUG介绍,最后给出自己写的两个算法,需要的朋友可以参考下 IP转换成 ...

  7. [转][原]openstack-kilo--issue(六)kilo版openstack的dashboard在session超时后重新登录报错解决办法

    http://blog.csdn.net/wylfengyujiancheng/article/details/50523373?locationNum=1&fps=1 1.现象描述: kil ...

  8. tomcat 部署脚本

    将一下3个脚本放到一个目录里,做成一个 python 的包即可使用 脚本介绍 操作服务脚本 #!/usr/bin/env python # _*_coding:utf-8_*_ # Author: & ...

  9. MySQL中EXPLAIN的解释

    EXPLAIN是查看MySQL优化器如何决定执行查询的主要方法,这个功能具有局限性,以为它并总是会说出真相,但是却可以获得最好信息. 学会解释EXPLAIN,你就会了解MySQL优化器是如何工作,你才 ...

  10. nagios 自定义插件demo

    #!/bin/bash loadavg=$( uptime | awk -F: '{print $4}' | xargs ) load1int=$( ) load5int=$( ) load15int ...