i: 表示in-casesensitive,即大小写不敏感
s: PCRE_DOTALL,表示点号可以匹配换行符。
U: 表示PCRE_UNGREEDY,表示非贪婪,相当于perl/python语言的.*?,在匹配过程中,对于.*正则,一有匹配立即执行,而不是等.*消费了所有字符再一一回退。

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);
?>
登录后复制

以上就是php中preg_match的isU是什么意思的详细内容,更多请关注Work网其它相关文章!

08-31 15:08