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 7中实现模糊效果
本文译自iOS 7 Blur Effects with GPUImage. iOS 7在视觉方面有许多改变,其中非常吸引人的功能之一就是在整个系统中巧妙的使用了模糊效果.许多第三方应用程序已经采用了这 ...
- Java集合 之 Queue集合
什么是Queue集合? 答:Queue用于模拟队列这种数据结构.队列通常是指“先进先出(FIFO)”的容器.队列的头部保存在队列中存放时间最长的元素,尾部保存存放时间最短的元素.新元素插入到队列的尾部 ...
- 关于git
一.Git基础教程 01.[入门练习]廖雪峰 git教程网:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8 ...
- CentOS6.5安装mysql5.1.73
思路: 1.查看有无安装过mysql rpm -qa|grep mysql
- CentOS下安装实时检测网络带宽的小工具bmon
首先下载rpmforge-release扩展的rpm包 32位操作系统:wget http://www.sudu.us/Tools/bmon/rpmforge-release-0.3.6-1.el5. ...
- TCP/IP包格式详解
文章参考地址:http://blog.chinaunix.net/uid-20698826-id-4700710.html http://blog.csdn.net/mrwangwang/articl ...
- Report List Controls
Report风格的ListCtrl的扩展,原文链接地址:http://www.codeproject.com/Articles/5560/Another-Report-List-Control 1.列 ...
- QT添加程序图标及窗口图标
程序图标 材料准备 图标文件:*.ico文件,存放在源文件同一目录下,如"myapp.ico" 写入图标 向*.pro文件中,独立一行写入"RC_ICONS = *.ic ...
- WIN7下VPN服务器的建立 我又在给自己挖坑了。。。
先说一下为什么会有这篇文章吧,和同学们玩局域网对战游戏一般都会用各种游戏对战平台,比如浩方之类的.但是用过这类东西的人都知道,抢房间.高延迟等等问题也是很麻烦的.于是我一个同学下了个VPN软件,但是与 ...
- 绘制复数图形和双y轴图形
clearclct=0:0.1:2*pi;x=sin(t);y=cos(t);z=x+i*y;subplot(1,3,1)plot(t,z,'r') %注:这种方式下,不论参数t,z哪个是复数,都将忽 ...