<?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. linq扩展之动态排序

    前两天看QQ群里面,一位朋友问的问题,说在linq中怎么实现动态排序呢,自己想了半天,没有头绪,网上找了下相关的资料,看了下,收益挺多,记录下来. 之前我们没有如果不知道动态排序的方法的话,我们可能会 ...

  2. 做一些Spring AOP做过的事,封装 jdk动态代理成为一个黑盒子

      怎么使用eclise 抽取方法,请看  利用eclipse 抽取代码片段为方法   抽取完成之后,还需要 ① 将Collection.class换成  target.getClass(),targ ...

  3. Effective Java 03 Enforce the singleton property with a private constructor or an enum type

    Principle When implement the singleton pattern please decorate the INSTANCE field with "static ...

  4. 转 Java多线程中Sleep与Wait的区别

    Java中的多线程是一种抢占式的机制,而不是分时机制.抢占式的机制是有多个线程处于可运行状态,但是只有一个线程在运行. 共同点: 1. 他们都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数, ...

  5. 编写一个Java项目,定义包,在包下定义包含main方法的类,在main方法中声明8种基本数据类型的变量并赋值,练习数据类型转换。

  6. 《SQL Server企业级平台管理实践》读书笔记——SQL Server中收缩数据库不好用的原因

    数据库管理员有时候需要控制文件的大小,可能选择收缩文件,或者把某些数据文件情况以便从数据库里删除. 这时候我们就要使用到DBCC SHRINKFILE命令,此命令的脚本为: DBCC SHRINKFI ...

  7. 魔改——MFC MDI程序 定制 文档模板 运行时全部打开 禁用关闭按钮

    ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...

  8. Error: Could not access the Package Manager. Is the system running?

    最近在搭建cordova,android 开发环境,安装android studio之后创建一个demo之后,运行想看一下效果,在运行过程中创建一个虚拟机(arm)的,等了有1分钟左右,再次运行程序, ...

  9. Mac/Linux 定时运行命令行

    想要开机运行的话可以通过 mac 自带的 Automator 将要运行的命令打包成一个app,用后在用户组的“登录时启动”列表里加上那个app. 但是想要定时运行就不能这么做了,要用上一个叫cront ...

  10. AMO olap Test C# generate tsql and mdx

    通过AMO访问online的cube,生成等值的TSql和mdx 自动生成等值的TSQL和MDX进行Cube测试.其中难度比较大的部分是拼接TSQL. 暂时不处理calculations,只除理met ...