$patter = 正则表达式
$subject = 匹配的目标数据
定义了一种规则,对目标数据进行匹配,把匹配的结果列出来
手机输入法
* 通配符
正则表达式是一种字符串搜索和匹配的工具
元字符
原子的筛选方式
| 匹配两个或者多个选择分支
[ ] 匹配方括号中的任意一个原子
[^] 匹配除方括号中的原子之外的任意字符
匹配手机号 第一位1开头 后面跟上括号的 13 14 15 17 18开头的
保留2位小数,非贪婪模式
正则 匹配保留2位小数数字
正则懒惰模式 忽略大小写
对字符做一些匹配规则的设立
7个PHP中常用的正则表达式函数
private $returnMatchResult = false; //定义类最终返回的结果(返回匹配到的数据/返回true或false)
private $fixMode = null; //定义修正模式
private $matches = array(); //存放匹配到的结果
private $isMatch = false; //存放是否匹配成功
元字符!!!
正则表达式总结
匹配正则表达式
匹配到正则就截断数组换个字符
$pattern,$subject,$replacement都为数组时两者的区别在于filter只保留替换的数组值,而replace保留了整个数组的值
当$pattern和$replacement 都为数组时,数组内包含的数量要匹配
当$subject也为数组时
preg_replacement匹配时无论数组中的元素有没有匹配上都会输出;
preg_filter匹配时只会输出匹配上元素,而没有匹配上的上的则不会被输出
PHP正则常用函数
preg_grep只匹配不替换也就是preg_filter的匹配结果没有替换的字符串,换句话说就是将preg里没有匹配的字符串过虑掉
一目了然的结果
$pattern,$subject,$replacement都为数组时两者的区别在于filter只保留替换的数组值,而replace保留了整个数组的值
$patten和$replacement为对应数组时,$subject为字符串时,匹配结果一样
preg_replace 与preg_filter将$subject里的符合$patten的字符或数组替换成$replaceent相对应该的字符串数组
t1=preg_match($pattern,$subject,$m1)
t2 = preg_match_all($pattern,$subject,$m2)
结果是对应匹配次数