正则总结

概括知识点:1.通用字符 2.元字符 3.函数


基本知识

1.认识转义字符:
转义字符作为原子: \' \" \* \? \. 
单双引号:双引号可以解析转义字符,而单引号不行,其它等价

2.通用字符作为原子:
	\d 	数字   [0-9]
	\D 	非数字 [^0-9]
	\s 	空白
	\S 	非空白
	\w  字母,数字,下划线 [a-zA-Z0-9_]
	\W  非字母,数字,下划线 [^a-zA-Z0-9_]
3.自定义原子表
	[] 在原子表中,如果没有出现其它修饰符,则选择一个原子
	$preg = '/[aj]sp/'; // 三个原子   包含,asp,jsp
	$preg = '/[^aj]sp/'; // 除了 asp,jsp 都可以匹配
4.字符串边界
	$preg = '/^rs$/'; // 1.r开头 ,2.s结尾 ,3.只有两个原子
5.词边界
	$preg = '/\bno\b/'; // 字符no两边是边界
	$preg = '/\B\w\w\B/'; // 两个原子,左右两边非词边界
6.重复匹配
	?	匹配0次或1次其前的原子
	+	匹配1次或多次其前的原子
	*	匹配0次、1次或多次其前的原子
	.   任意字符,除了换行符外,都能匹配(特殊)
7.原子表
		$preg = '/[abc]e/'; // ae,be,ce 
8.分支选择
		$preg = '/cindy|peter/'; // 能匹配的元素:cindy或peter
		$preg = '/\.(jpg|gif|png)/';// 匹配后缀  jpg,gif,png
9.引用
		// 反向引用   \1 --> 引用第一个括号,\2 --> 引用第二个括号
		$preg = '/([a-z])([A-Z])\\2\\1/';(结果有点疑问)
10.花括号
		{n}  	当前原子只能出现 n 次
		{n,} 	当前原子最少出现 n 次
		{n,m} 	当前原子最少出现 n 次,最多 m 次
11.模式修正符(不是很懂)
		i 不区分大小写
		m 视为多行
		s 让 任意字符 . 识别换行符
		x 模式中的空白
		U 在正则中,默认就是贪婪模式,以最广范围匹配, U 取消贪婪模式

正则函数

<?php
	$preg = '/^1[345678]\d{9}$/';
	$list = [
		'asodifoaisd',
		'13922130889',
		'13122130889'
	];
	// 返回与正则相匹配的元素,返回的是一个数组
	$res = preg_grep($preg , $list);
	/*Array
	(
	    [1] => 13922130889
	    [2] => 13122130889
	)*/
	
	if(preg_match_all($preg , $str , $list)){
		echo '<font color="green">匹配成功!</font>';
	}else{
		echo '<font color="red">匹配失败!</font>';
	}

	// 匹配到的$str存储到$list中,是一个二维数组
	/*Array
	(
	    [0] => Array
	        (
	            [0] => dd
	            [1] => dd
	            [2] => dd
	        )

	)*/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值