<?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. NavigationController的使用整理

    1.设置NavigationBar的背景色: self.navigationController.navigationBar.barTintColor = [UIColor redColor]; 2. ...

  2. 【原】开发路上疑难BUG调试记录

    之前遇到棘手的BUG总是在处理过后就不管了,导致后面碰到相同问题后重复工作太多.现专门开辟一篇日志以记录接下来一路上比较棘手的“坑”的修复历程: [C++篇] 1.mt.exe : general e ...

  3. swift 字符转为类,代码创建控件

    在使用类之前要先获得 命名空间 通过json来获取 字符型的类名 然后创建类对象,这时候就要用到字符转类 // 从info字典中获取到 命名空间 转为字符型 let NS = NSBundle.mai ...

  4. MySQL初步笔记,有待整理

     查询表纪录: select * from tb1; 插入一条记录 insert tb1 values(value1,value2,...); 修改表的默认编码: alter table tb1 ch ...

  5. 【同步复制常见错误处理3】找不到存储的过程 sp_MSins_tablename

    环境在SQL2008 R2同步复制时出错 这个错误提示是由于在订阅端没有找到同步时调用的同步存储过程,MS错误说明: 当某个事务发布在 SQL SERVER自动同步设置选择订阅服务器插入. 更新和删除 ...

  6. SQL Server同步复制问题排查方法

    1.应用复制的命令时在订阅服务器上找不到该行 解决方法:用系统存储过程sp_browsereplcmds(返回分发数据库中存储的可读版本复制命令的结果集,并将其用作诊断工具. 此存储过程在分发服务器上 ...

  7. 使用backbone.js、zepto.js和trigger.io开发HTML5 App

    为了力求运行速度快.响应迅即,我们推荐使用backbone.js和zepto.js. 为了让这个过程更有意思,我们开发了一个小小的示例项目,使用CSS重置样式.Backbone.js和带转场效果的几个 ...

  8. 解决 Eclipse 项目有红感叹号的方法

    原因:显示红色感叹号是因为jar包的路径不对 解决: 在项目上右击:Build Path -> Configure Build Paht...(或Propertise->Java Buil ...

  9. C语言杂谈(一)scanf()、scanf_s()与错误 C4996

    错误 C4996 初学C语言时,第一个接触到的I/O函数便是scanf()了.但在高版本的 Visual Studio (包括但不限于2015.2013.2012)编译代码时,却会出现意想不到的错误. ...

  10. IE11的API变化

    IE11已经登录Win8.1,它的API有了很大变更 一.User-agent字符串的更改 IE10的是 Mozilla/5.0 (compatible; MSIE 10.0; Windows NT ...