php中preg_match的isU代表什么意思
这篇文章主要介绍了php中preg_match的isU代表什么意思的相关资料,需要的朋友可以参考下,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);
- ?>