商务网站建设综合实训报告,asp 网站开发教程,汕头网站建设开发,微信号 网站模板正则表达式的常用函数#xff1a;
先写一个函数show#xff0c;用来输出数组#xff0c;使代码看起来方便#xff0c;且把经常重复用到的量放在前面
function show($varnull)
{if(empty($var))//检测变量是否为空{echo null;}elseif (is_array($var)||is_object($var))//…正则表达式的常用函数
先写一个函数show用来输出数组使代码看起来方便且把经常重复用到的量放在前面
function show($varnull)
{if(empty($var))//检测变量是否为空{echo null;}elseif (is_array($var)||is_object($var))//检测变量是否为数组或对象{echo pre;print_r($var);echo pre;}else{echo $var;}$pattern/[0-9]/;
$subjectgyg87yuhg765t6rtfygvhfct7;
$replacement;1.
preg_match($pattern,$subject,[arraymatches])和preg_match_all($pattern,$subject,[arraymatches])
作用
进行匹配返回匹配的个数
变量
$pattern 正则表达式$subject目标字符串[arraymatches] 把匹配到的字符串放到一个数组中可选
区别
preg_match($pattern,$subject,[arraymatches])*****只进行一次匹配返回值为匹配个数只有0和1preg_match_all($pattern,$subject,[arraymatches])***匹配完全部目标数据返回匹配个数
例
//preg_match($pattern,$subject,[arraymatches])*****只进行一次匹配返回值为匹配个数只有0和1
//,preg_match_all($pattern,$subject,[arraymatches])***匹配完全部目标数据返回匹配个数
$m1$m2array();$t1preg_match($pattern,$subject,$m1);
$t2preg_match_all($pattern,$subject,$m2);show($m1);
echo hr /;
show($m2);
echo hr /;
show($t1.||.$t2);
echo hr /;2
preg_replace($pattern,$replacement,$subject)preg_filter($pattern,$replacement,$subject)功能
实现查找并替换
参数
$replacement替换成的字符
返回值
替换后的字符串
区别
当subject对应数组单元中没有满足正则表达式的值时preg_replace会保留原来的数组单元preg_filter会删除不符合表达式的数组单元仅保留有满足表达式的单元
普通字符串二者作用差不多
$repreg_replace($pattern,$replacement,$subject);
$filpreg_filter($pattern,$replacement,$subject);show($re);
echo br /;
show($fil);对象为数组时
$pattern_rfarray(/[0123]/,/[456]/,/[789]/);
$replacement_rfarray(啊,西,吧);
$subject_rfarray(yty65,vh1jh,hghg,8uhhj,gggy);
$re_rfpreg_replace($pattern_rf,$replacement_rf,$subject_rf);
$fil_rfpreg_filter($pattern_rf,$replacement_rf,$subject_rf);echo hr /;
show($re_rf);
echo br /;
show($fil_rf);3
preg_grep($pattern,$subject_rf作用
在目标数组中匹配并且只保留匹配到的数组的单元相当于preg_filter取消替换功能
$grpreg_grep($pattern,$subject_rf);
echo hr /;
show($gr);4
preg_split($pattern,$subject);
preg_quote($str)作用
preg_split通过pattern 匹配字符串并以匹配到的字符串作为分割点分割字符串将分割得到的若干字符串保存到一个数组中作为函数返回值返回 preg_quote转义
$splpreg_split($pattern,$subject);
echo hr /;
show($spl);
echo hr /;
$str{hhhhhhhhh[]};
show($str);
echo br /;
$strpreg_quote($str);
show($str);
echo hr /;正则表达式的语法
1界定符
作用
标志正则表达式开始和结束
类型
//##{}推荐在线工具regexpal 2.原子
分为可见原子和不可见原子可见原子即可以看见的字符串不可见原子即看不见的字符串例如空格制表回车等
3.元字符
元字符作用 1.表示原子的筛选方式 |[][^] []表示匹配内部元素如;[0-9]表示匹配0-9的数字二[^]表示匹配除[]内的元素注意^必须更在[后面 2.表示原子的集合
. \d \D \s \S \w \W各自的作用
. :匹配除换行外的所有字符\d: 匹配0-9的数字类似于[0-9]\D: 匹配除0-9外的所有元素类似于[^0-9]\s \S :匹配不可见可见原子\w \W :匹配任意非字母数字下划线
4.量词
表示某个原子出现的次数 {n} ;表示某个原子恰好出现n次 {n,} :表示某个原子至少出现n次 {n,m}:表示某个原子至少出现n次,至多m次 *表示某个原子至少出现0次 表示某个原子至少出现1次 表示某个原子至少出现0次,至多1次
5.边界控制
^: 匹配字符串开始的位置 $: 匹配字符串结束的位置 匹配成功必须要以^之后的原子开始以$之前的原子结束
6.模式单元
pattern:模式单元中的正则表达式可以当作一个原子看待
7.修正符
1.贪婪匹配与懒惰匹配 贪婪匹配取其长懒惰匹配修正符U取其短
$pattern_xz_TL/\d.zjb/;
$subject_xzuuuhytftdr677tz7tdrzjbhbhzjbbhjzjb,,,;
$matches_xz_TLarray();
preg_match($pattern_xz_TL,$subject_xz,$matches_xz_TL);
show($matches_xz_TL);
echo br /;
$pattern_xz_LD/\d.zjb/U;
$matches_xz_LDarray();
preg_match($pattern_xz_LD,$subject_xz,$matches_xz_LD);
show($matches_xz_LD);
echo hr /;如上使用贪婪匹配匹配到第一个zjb后会继续匹配直到匹配完整个字符串若使用懒惰匹配则匹配到第一个zjb后就直接返回
常用修正符 U懒惰匹配 i忽略大小写 x忽略空白 s使.包含换行符匹配所有 根据慕课网视频所写原视频链接
源代码链接