php基础30:正则匹配-量词
<?php //正则表达式 //1.第一个正则表达式 if("a"=="a"){ echo "equal"; }else{ echo "noequal"; } echo "<hr>"; //第一个参数表示匹配模式,第二个参数匹配的字符串 echo (preg_match('/php/',"php")); echo (preg_match('/php/',"php222")); echo (preg_match('/php/',"p2h2p2")); $modle = "/php/"; $string = "php"; if (preg_match($modle, $string)) { echo "success"; }else{ echo "fail"; }; echo "<hr>"; //什么叫做匹配?:按照模式来匹配 //匹配与相等是不同的概念 //2.量词+:匹配任何至少包括一个前导字符串(1个或者多个) // 前导:前面一个字符,+的前导是h // h+ 的意思是只要要包括1个h $model = "/ph+p/"; $string = "phhhhhhhp"; $model = "/ph+p/"; $string = "phhhgggggggggp"; $model = "/ph+p/"; $string = "pp"; echo(preg_match($model, $string))."<hr>";//0 // 3.量词*:匹配任包括0个或者多个前导字符串(0个或者多个) // * 虽然可以是0个,但是前导字符不能更改,更就不匹配了 $model = "/ph*p/"; $string = "php"; $model = "/ph*p/"; $string = "pp"; $model = "/ph*p/"; $string = "pbbbbp"; echo "<hr>"; // 3.量词?:匹配任何包含1个或者0个前导字符 $model = "/ph?p/"; $string = "pp"; $model = "/ph?p/"; $string = "php"; $model = "/ph?p/"; $string = "phhhp"; echo(preg_match($model, $string))."<hr>";//0 //4.量词(.)匹配任意一个字符 //n个点匹配n个任意字符 $model = "/p.p/"; $string = "php"; $model = "/p..p/"; $string = "phrp"; $model = "/p..p/"; $string = "php"; $model = "/p..p/"; $string = "phhhp"; echo(preg_match($model, $string))."<hr>";//0 //5.(.与*)的配合 //(.*)表示任意前导字符,0个或者多个 $model = "/p.*p/"; $string = "php"; $model = "/p.*p/"; $string = "phhhhhhp"; $model = "/p.*p/"; $string = "pp"; echo(preg_match($model, $string))."<hr>";//1 // 6.量词{x}:表示前导必须是3个 $model = "/ph{3}p/"; // h{3}匹配3个h $string = "phhhp"; $model = "/ph{3}p/"; $string = "php"; echo(preg_match($model, $string))."<hr>";//0 //7.量词{x,y}:匹配x-y个前导字符串 $model = "/ph{3,5}p/"; $string = "phhhp"; $model = "/ph{3,5}p/"; $string = "phhhhp"; $model = "/ph{3,5}p/"; $string = "phhhhhp"; echo(preg_match($model, $string))."<hr>";//1 //8.量词{x,}:匹配至少x个前导字符串 $model = "/ph{3,}p/"; $string = "phhhp"; $model = "/ph{3,}p/"; $string = "phhp"; $model = "/ph{3,}p/"; $string = "phhhhp"; echo(preg_match($model, $string))."<hr>";//1 //9.$:匹配字符串的行尾 //$一般加载字符串的尾巴上,表示从尾巴开始匹配(以xxx结尾) $model = "/php/"; $string = "cccccccccccccccc php ccccccccccc"; $model = "/php$/"; $string = "cccccccccccccccc php ccccccccccc"; $model = "/php$/"; $string = "cccccccccccccccccccccccccccphp"; echo(preg_match($model, $string))."<hr>";//1 //10. ^ 表示从头开始匹配 // 表示 以 xxx 开始 $model = "/^php/"; $string = "cccccccccccccccccccccccccccphp"; $model = "/^php/"; $string = "phpcccccccccccccccccccccccccccphp"; echo(preg_match($model, $string));//1 //如果^和$一起使用,表示匹配一模一样的,那就使用==即可 $model = "/^php$/"; $string = "phpcccccccccccccccccccccccccccphp"; echo(preg_match($model, $string))."<hr>";//1 // 10. | : 匹配字符串的左边或者右边 //条件选择符号 $model = "/php|jsp/"; $string = "php"; $model = "/php|jsp/"; $string = "jsp"; $model = "/php|jsp/"; $string = "asp"; $model = "/php|jsp|asp/"; $string = "asp"; echo(preg_match($model, $string))."<hr>";//1 // 11. () : 包围一个字符分组或者 //讲到后面才可以理解 ?>
php基础30:正则匹配-量词的更多相关文章
- Java基础--常用正则匹配符号(必背,必须背,死都要背)
1.字母:匹配单个字母 (1)A:表示匹配字母A: (2)\\:匹配转义字符“\”: (3)\t:匹配转义字符“\t”: (4)\n:匹配转义字符“\n”: 2.一组字符:任意匹配里面的一个单个字符: ...
- Flask基础(3):session、flash、特殊装饰器、蓝图、路由正则匹配、上下文管理 & flask-session
Session: Flask 默认将 session 以加密的形式放到了浏览器的 cookie 中 Flask 的 session 就是一个字典,字典有什么方法 session 就有什么方法 flas ...
- Python 基础之正则之二 匹配分组,正则相关函数及表达式修饰符
四.匹配分组 [元字符] 分组符号 a|b 匹配字符a 或 字符b (如果两个当中有重合部分,把更长的那个放前面) (ab) 匹配括号内的表达式 ,将()作为一个分组 num 引用分组 ...
- python_way day18 html-day4, Django路由,(正则匹配页码,包含自开发分页功能), 模板, Model(jDango-ORM) : SQLite,数据库时间字段插入的方法
python_way day18 html-day4 1.Django-路由系统 - 自开发分页功能 2.模板语言:之母板的使用 3.SQLite:model(jDango-ORM) 数据库时间字 ...
- FPGA做正则匹配和网络安全,究竟有多大的优势?
FPGA做正则匹配和网络安全,究竟有多大的优势? 西电通院专用集成电路课程学习 云导播 网络安全已经被提升为国家战略的高度,高校里面的新增的一级学科,去年9月份,中央网信办.教育部公布了“一流网络安全 ...
- python中正则匹配之re模块
Python中正则表达式 re:re是提供正则表达式匹配操作的模块 一.什么是正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某个模式匹配,Python 自1.5版本起 ...
- day21-Python运维开发基础(单个字符匹配 / 多字符匹配)
1. 正则表达式(单个字符匹配) # ### 正则表达式 => 单个字符匹配 import re """ lst = re.findall(正则表达式,字符串) & ...
- MySQL全面瓦解8:查询的正则匹配
概述 上一章 查询的过滤条件,我们了解了MySQL可以通过 like % 通配符来进行模糊匹配.同样的,它也支持其他正则表达式的匹配,我们在MySQL中使用 REGEXP 操作符来进行正则表达式匹配. ...
- Aho-Corasick算法、多模正则匹配、Snort入门学习
希望解决的问题 . 在一些高流量.高IO的WAF中,是如何对规则库(POST.GET)中的字符串进行多正则匹配的,是单条轮询执行,还是多模式并发执行 . Snort是怎么组织.匹配高达上千条的正则规则 ...
随机推荐
- iOS开发笔记8:Remote Notification远程消息推送处理
远程消息推送处理场景有三种:分别是app还没有运行.app在前台运行以及app在后台运行,下面介绍相关流程及三种场景下处理步骤 1.流程 (1)注册通知 首先是在注册远程消息推送,需要注意的是iOS8 ...
- iOSQuartz2D-01-核心要点
简介 作用 绘制 绘制图形 : 线条\三角形\矩形\圆\弧等 绘制文字 绘制\生成图片(图像) 读取\生成PDF 截图\裁剪图片 自定义UI控件(通常为内部结构较复杂的控件) UIKit中的绝大部分控 ...
- iOS之UI--CAGradientLayer
1.CAGradientLayer 简介 如果说CAShapeLayer是用于提供设置形状的,那么CAGradientLayer是用于提供设置颜色的 英语单词:Gradient:梯度,渐变 那么Gra ...
- 一些在IOS中关于JS、H5开发的网站
1.JSPatch 2.
- 导出excel乱码问题
今天遇到一个问题,在用C#做导出excel的时候,出现excel乱码问题.百度了下. 发现问题如下: 非中文字符编码问题. 解决方法: 把输出的excel格式设置成UTF-8即可. 更改代码: Res ...
- PMP 项目管理过程组与知识领域
- 问题解决——OpenGL超级宝典 第四章 4.5.2 关于freeglut.lib问题的解决过程
看<OpenGL超级宝典(第四版)>的4.5.2节时遇到了一系列问题,经过不懈努力终于解决,现将过程记录在下,以便查找追思. 在第4.5.2节之前,自己写的的代码都没有使用作者的gltoo ...
- 烂泥:KVM安装Windows Server 2008 R2使用virtio硬盘
本文首发于烂泥行天下. 在上一篇文章中,我们介绍了使用IDE硬盘来安装Windows Server 2008 R2,这篇文章我们来介绍使用virtio硬盘来安装Windows Server 2008 ...
- Linux系统命令查询软件包
转载自:http://blog.chinaunix.net/uid-346158-id-2131252.html,http://www.jb51.net/os/RedHat/1102.html, 一. ...
- 一·创建Linux服务器(基于阿里云)
本系统是基于阿里云服务器,购买请前往https://www.aliyun.com/?spm=5176.8142029.388261.1.taXish ,由于经济能力的限制,本人购买的是最低配置如下 其 ...