isU是大小写分的意思,这里s还有则不包括换行符而U是反转了匹配数量的值使其不是默认的重复,大概就是这样了个体我们看文章。
正则后面的/(.*)/isU ,“isU”参数代表什么意思?
这是正则中的修正符。
i是同时查找大小写字母;
s是圆点(.)匹配所有字符,包括换行符.如果没有设定s,则不包括换行符;
U是反转了匹配数量的值使其不是默认的重复,而变成在后面跟上“?”才变得重复。
preg_match兼容的正则表达式语法中 b 代表单词边界,所以:下面应该是可以?
$a="test,admin,abc"; $b="te"; $exist=preg_match("/b{$b}b/",$a); if($exist){ echo "存在"; }else{ echo "不存在"; }
看一下相关说明:int preg_match ( string pattern, string subject [, array matches [, int flags]] );
preg_match() 返回 pattern 所匹配的次数。要么是 0 次(没有匹配)或 1 次,因为 preg_match() 在第一次匹配之后将停止搜索。preg_match_all() 则相反,会一直搜索到 subject 的结尾处。如果出错 preg_match() 返回 false。
<?php $a = "abcdefgabcdefaaag"; preg_match('|abc([a-z]+)g|isu',$a,$out1); preg_match_all('|abc([s]+)g|isu',$a,$out2); echo "<pre>"; print_r($out1); print_r($out2); echo "</pre>"; ?>
使用双引号时和单引号的不同。
<?php preg_match_all("/href="(.*)"/isu",$contents,$out); preg_match_all('|href="(.*)"|isu',$contents,$out);