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);