<?php

    //2.正则表达式:元字符
    $model = "/php/";
    $string = "php";

    // 1.元字符 [a-z] 匹配任何a-z的字符串
    // []:中括号语法表示,匹配任意一个即可
    $model = "/[abc]/";
    $string = "a";
    echo preg_match($model, $string);

    $model = "/[abc]/";
    $string = "b";
    echo preg_match($model, $string);

    $model = "/[abc]/";
    $string = "a";
    echo preg_match($model, $string);

    $model = "/[abc]/";
    $string = "abdddsssaassas";
    echo preg_match($model, $string);

    $model = "/[abc]/";
    $string = "dddddddasssddddd";
    echo preg_match($model, $string);

    $model = "/[0-9]{3}/";
    $string = "123ffssd";
    echo preg_match($model, $string);

    //备注:[]匹配该范围内的任意一个字符即可

    $model = "/[a-zA-Z0-9_]/";//
    $string = "_";
    echo preg_match($model, $string)."<hr>";

    //2.[^abc]:主意是在中括号内部加^
    //[^abc]表示匹配除了abc,任何一个就可以了
    $model = "/[^abc]/";
    $string = "a";
    echo preg_match($model, $string);

    $model = "/[^abc]/";
    $string = "b";
    echo preg_match($model, $string);

    $model = "/[^abc]/";
    $string = "c";
    echo preg_match($model, $string);

    $model = "/[^abc]/";
    $string = "abcsabc";
    echo preg_match($model, $string)."<hr>";

    //3. \w 匹配任何包含a-zA-Z0-9和下划线的字符串
    // \w <=> [a-zA-Z0-9_]
    $model = "/\w/";
    $string = "c";
    echo preg_match($model, $string);

    $model = "/\w/";
    $string = "&";
    echo preg_match($model, $string);

    $model = "/\w/";
    $string = "0&";
    echo preg_match($model, $string)."<hr>";

    //4. \W(与小写的要区分)
    // \W 与 \w 正好相反
    $model = "/\W/";
    $string = "&";
    echo preg_match($model, $string);

    $model = "/\W/";
    $string = "0&";
    echo preg_match($model, $string);

    $model = "/\W/";
    $string = "s";
    echo preg_match($model, $string)."<hr>";

    //05. \d 匹配任意数字
    // 与 [0-9]相同
    $model = "/\d/";
    $string = "11";
    echo preg_match($model, $string);

    $model = "/\d/";
    $string = "$";
    echo preg_match($model, $string);

    $model = "/\d/";
    $string = "AS";
    echo preg_match($model, $string)."<HR>";

    //06:\D 与 \d 相反
    // 与 [^0-9]相同
    $model = "/\D/";
    $string = "$0";
    echo preg_match($model, $string);

    $model = "/\D/";
    $string = "0";
    echo preg_match($model, $string)."<hr>";

    //07:\s 匹配任何空白字符
    $model = "/\s/";
    $string = "$0";
    echo preg_match($model, $string);

    $model = "/\s/";
    $string = " 0";
    echo preg_match($model, $string)."<hr>";

    // \S 与 \s 相反
    $model = "/\S/";
    $string = " 0";
    echo preg_match($model, $string)."<hr>";

    //08: \b 表示到达了单词的边界,边界可以理解为空格
    // \B 表示没有到达空格
    $model = "/php\b/";
    $string = "php";
    echo preg_match($model, $string);

    $model = "/php\b/";
    $string = "php,";
    echo preg_match($model, $string);

    $model = "/php\b/";
    $string = "phpzzz";
    echo preg_match($model, $string);

    $model = "/php\b/";
    $string = "php,gggggg";
    echo preg_match($model, $string)."<hr>";

    //09: \匹配正则中的特殊字符
    // 比如+是正则里面的特殊字符,如果要匹配特殊字符的话,必须加上 \
    $model = "/ph\+p/";
    $string = "ph+p";
    echo preg_match($model, $string);

    $model = "/ph\+p/";
    $string = "ccccph+pdddd";
    echo preg_match($model, $string)."<hr>";
?>

php基础31:正则匹配-元字符的更多相关文章

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

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

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

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

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

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

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

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

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

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

  6. Aho-Corasick算法、多模正则匹配、Snort入门学习

    希望解决的问题 . 在一些高流量.高IO的WAF中,是如何对规则库(POST.GET)中的字符串进行多正则匹配的,是单条轮询执行,还是多模式并发执行 . Snort是怎么组织.匹配高达上千条的正则规则 ...

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

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

  8. java 正则匹配空格字符串 正则表达式截取字符串

    java 正则匹配空格字符串 正则表达式截取字符串 需求:从一堆sql中取出某些特定字符串: 比如配置的sql语句为:"company_code = @cc and project_id = ...

  9. 常用的JavaScript正则匹配规则代码收藏,很实用

    收集一些常用的JavaScript正则表达式匹配规则,比如匹配电话号码.Email.中文字符.身份证号.邮编.QQ号.过滤空白行.匹配特定数字等.觉得这玩意是很有用的,只不过自己水平菜,老是自己写不出 ...

随机推荐

  1. 冒泡排序(java版)

    public class BubbleSortTest { //冒泡排序 public static void bubbleSort(int[] source) { //外层循环控制控制遍历次数,n个 ...

  2. 关于EntityFramework在vs2012无法引用的问题

    这段时间学习MVC,发现一个问题,我公司的电脑可以直接引用EntityFrameWork这个命名空间,但我家里面的电脑就不能直接引用,刚开始以为是我电脑配置问题,后重装电脑,发现问题并没有解决. 今天 ...

  3. LINQ SQL分组取最近一条记录

    最近项目有一个需求,从订单表查询出每个客户最近一条订单记录.数据库表结构如下图 SELECT * FROM ( select ROW_NUMBER()over(partition by [custid ...

  4. jQuery form插件的使用--ajaxForm()和ajaxSubmit()的可选参数项对象

    一.前提说明 Form Plugin API 里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程. 测试环境:部署到Tomcat中的web项目. 二.简单介绍 本文演示的是:jQue ...

  5. 设计模式C#实现(三)——外观模式

    外观模式——提供了一个统一的接口,用来访问子系统中的一群接口.外观定义了一个高层接口让子系统更容易使用. 一个外观包含了为许多对象和对他们的操作,使得重复这些操作更方便. 假如客厅里有灯(Lights ...

  6. POJ 2823 Sliding Window

    Sliding Window Time Limit: 12000MSMemory Limit: 65536K Case Time Limit: 5000MS Description An array ...

  7. POJ 2299 Ultra-QuickSort(线段树入门)

    Ultra-QuickSort Time Limit: 7000MS Memory Limit: 65536K Description In this problem, you have to ana ...

  8. Java基础の乱弹琴一:assert关键字

    一.概述 assert:表示断言 二.语法 在Java中,assert关键字是从JAVA SE 1.4 引入的,为了避免和老版本的Java代码中使用了assert关键字导致错误,Java在执行的时候默 ...

  9. C++ new(2)

    1. new与operator new C++中有很多语法让人难以理解,如:new operator(操作符,下同)和operator new之间差异,确切的说,应该是new与operator new ...

  10. 译文:Nesting Your BEM?

    原文链接:http://csswizardry.com/2016/11/nesting-your-bem/ 在我开始这篇文章之前,我得说这不是一个建议或者是新的"练习指南".这只是 ...