php中preg_match的isU代表什么意思

这篇文章主要介绍了php中preg_match的isU代表什么意思的相关资料,需要的朋友可以参考下,isU是大小写分的意思,这里s还有则不包括换行符而U是反转了匹配数量的值使其不是默认的重复,大概就是这样了个体我们看文章。

正则后面的/(.*)/isU ,“isU”参数代表什么意思?

这是正则中的修正符.

i是同时查找大小写字母,

s是圆点(.)匹配所有字符,包括换行符.如果没有设定s,则不包括换行符.

U是反转了匹配数量的值使其不是默认的重复,而变成在后面跟上“?”才变得重复

例:preg_match 兼容的正则表达式语法中 b 代表单词边界

所以:下面应该是可以???

  1. $a="test,admin,abc";
  2. $b="te";
  3. $exist=preg_match("/b{$b}b/",$a);
  4. if($exist)
  5. {
  6. echo "存在";
  7. }else
  8. {
  9. echo "不存在";
  10. }

看一下相关说明,代码如下:

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。

示例:

  1. <?php
  2. $a = "abcdefgabcdefaaag";
  3. preg_match('|abc([a-z]+)g|isu',$a,$out1);
  4. preg_match_all('|abc([s]+)g|isu',$a,$out2);
  5. echo "<pre>";
  6. print_r($out1);
  7. print_r($out2);
  8. echo "</pre>";
  9. ?>

写法:

使用双引号时和单引号的不同

  1. <?php
  2. preg_match_all("/href="(.*)"/isu",$contents,$out);
  3. preg_match_all('|href="(.*)"|isu',$contents,$out);
  4. ?>