<?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. Uva 110 - Meta-Loopless Sorts(!循环,回溯!)

    题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&pa ...

  2. 记录JVM垃圾回收算法

    垃圾回收算法可以分为三类,都基于标记-清除(复制)算法: Serial算法(单线程) 并行算法 并发算法 JVM会根据机器的硬件配置对每个内存代选择适合的回收算法,比如,如果机器多于1个核,会对年轻代 ...

  3. Android Design Support Library——TextInputLayout

    前沿 上一篇介绍了NavigationView的主要使用方式,本章主要介绍TextInputLayout的使用方式. TextInputLayout——EditText悬浮标签 TextInputLa ...

  4. 使用 ServiceStack.Text 序列化 json 比Json.net更快

    本节将介绍如何使用ServiceStack.Text 来完成高性能序列化和反序列化操作. 在上章构建高性能ASP.NET应用的几点建议 中提到使用高性能类库,有关于JSON序列化的讨论. 在诊断web ...

  5. Effective Java 30 Use Enums instead of int constants

    Enumerated type is a type whose legal values consist of a fixed set of constants, such as the season ...

  6. 问题解决——XP线程池找不到QueueUserWorkItem

    2013年7月11号 主管让同事写一个并发100的小工具进行什么压力测试,据说是创建100个线程. 我表示这真真的是在坑人! 线程创建消耗资源,以自己的笔记本来跑这个东西,时间片都消耗在了线程切换上了 ...

  7. hibernate基本类型映射

    model包: Book.java: package model; import java.sql.Blob;import java.util.Date; public class Book {   ...

  8. PHP添加Redis模块及连接

    上几篇文章介绍了Redis的安装及使用,下面将介绍php如何添加Redis扩展! php手册并没有提供Redis的类和方法,也没有提供相关的扩展模块,但我们可以在Redis的官网下载PHP的扩展,里面 ...

  9. ffmpeg2.2在ubuntu下使用NDK编译——并在android工程下测试使用

    作者:wainiwann 出处:http://www.cnblogs.com/wainiwann/ 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则 ...

  10. PowerDesigner概述(系统分析与建模)以及如何用PowerDesigner快速的创建出这个数据库

    PowerDesigner是Sybase公司推出的一个集成了企业架构,UML(统一建模语言)和数据库的CASE(计算机辅助软件工程)工具.它 不仅可以用于系统设计和开发的不同阶段(即业务分析,概念模型 ...