PHP&正则表达式

<?php
	//1.在PHP当中,什么是正则表达式
	//就是有一定语法规则的字符串
	
	//2.正则表达式的应用场景
	//表单验证
	//url_rewrite url地址重写
	//小偷程序,爬虫
	
	//3.如何使用正则表达式
	//正则表达式的组成部分
		//1.定界符
		//2.原子
		//3.元字符
		//4.模式修正符
		
	//4.定界符
	//定界符通常情况下是又特殊字符组成,常用/
	$pattern = "//";
	$pattern = "!!";
	$pattern = "##";
	
	echo "<form>";
	echo "<input type='text' name='str'>";
	echo "<input type='submit'>";
	echo "</form>";
	
	//5.原子
	$str = $_GET['str'];
	//$str = "\n";
	//普通原子 a-z A-Z 0-9
	$pattern = "/a/"; //可以帮助我们匹配一个字符a
	$pattern = "/\./";//特殊含义的字符需要转义
	$pattern = "/\n/";//非打印字符可以匹配
	$pattern = "/\d/";//匹配0-9数字
	$pattern = "/\D/";//匹配除了0-9的数字
	$pattern = "/\w/";//匹配数字+大小写字符+下划线
	$pattern = "/\W/";//匹配除了数字+大小写字母+下划线
	$pattern = "/\s/";//匹配的是空白符
	$pattern = "/\S/";//匹配除了空白符的字符
	$pattern = "/hao*sou/";//*匹配前面的一个原子出现0,1,多次
	$pattern = "/hao+sou/";//+匹配前面的一个原子出现1次或者多次
	$pattern = "/hao?sou/";//匹配前面的一个原子出现0次或者1次
	$pattern = "/./";//匹配的是除了换行符之外的任意字符
	$pattern = "/a|b|c/";//|代表或者的意思
	$pattern = "/hao{2}sou/";//匹配前面的一个原子恰巧出现n次
	$pattern = "/hao{2,}sou/";//>=2
	$pattern = "/hao{2,5}sou/";// 2-5
	$pattern = "/^伟大的捷哥教导我们/";//必须以该原子开头
	$pattern = "/伟大的捷哥教导我们$/";//必须以该原子结尾
	$pattern = "/^伟大的捷哥教导我们$/";//严格模式
	$pattern = "/[abc]/";// a|b|c
	$pattern = "/[^abc]/";// 除了a,b,c
	$pattern = "/(http|https|ftp):\/\//";//可以看做一个整体,还可以做反向引用
	
	//$str=<b>abc</b><b>dddgg</b>
	$pattern = "/<b>.*<\/b>/";//贪婪模式,匹配<b>abc</b><b>dddgg</b>
	$pattern = "/<b>.*?<\/b>/";//.*?取消贪婪模式,匹配<b>abc</b>
	$pattern = "/<b>.*<\/b>/U";//U取消贪婪模式
	
	$pattern = "/abc/i";//匹配的内容不区分大小写
	//$str = "bbbbb\nabc123123123\nccccc";
	$pattern = "/^abc/m";//匹配多行
	//$str = "\n";
	$pattern = "/./s";//修正.的换行符
	$pattern = "/a b c/x";//忽略正则表达式当中的空白符
	$str = "123123abc\n";
	$pattern = "/abc$/D";//取消$对换行符的忽略
	
	//$str = "";
	//$pattern = "/.*/";
	
	if(preg_match($pattern,$str,$matches)){
		echo "匹配到了<hr>";
		echo "<pre>";
		var_dump($matches);
		echo "</pre>";
	}else{
		echo "没有匹配";
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值