我见有的是(.*?) 有的又是([\s\S]*?])
[\S\s]为什么这里要放在[]里.能不能解释一下啊.大家.看了教程这里老是看不明白
[\S\s]为什么这里要放在[]里.能不能解释一下啊.大家.看了教程这里老是看不明白
解决方案 »
- 如何修改MYSQL默认的排序方式
- xampp搭建的php如何调用bash脚本?权限问题
- 请大哥帮忙如何实现一个用户注册以后自动发邮件到该用户的邮箱 谢谢
- 关于浮点数比较的问题,请教
- php程序是以什么身份读写文件的? 是其他用户吗?
- 求助,关于PHP编写网页挂机程序
- 请教如何隐藏php, phtml等标示
- 可以监控是哪个文件执行的sql语句么?
- 请问这个获得新闻标题的语句:$title=substr($row[title],"0",$titlelen")."..."为什么在显示的时候在最后面老是加问号怎么解决?
- 假期想找兼职,php还是asp吃香?
- 急!我调用DZ论坛的附件帖子并分页显示但图片显示不对应怎么解决?
- php视频教材解压时要密码,怎么办???
为什么不是(\s\S*?]) 而是([\s\S]*?]) 呢.不太明白.
[ 标记一个中括号表达式的开始。要匹配 [,请使用 \[。\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
举个例吧,这个我也不懂,经常匹配不到..,哈哈,看下效果好点.
$data = 'x456n y45m';
preg_match_all("/[xyz](.+?)[nm]/i", $data, $match);
print_r($match);
输出结果Array
(
[0] => Array
(
[0] => x456n
[1] => y45m
) [1] => Array
(
[0] => 456
[1] => 45
))
$match[0]为全部模式匹配的数组,也就是整个正则匹配,(包含[]表达式)
$match[1]为第一个括号中的子模式所匹配的字符串组成的数组,
就是只有第一个()里的正则匹配出来的,(从上面例子即可看出匹配后的区别了)
一般都是替换,查找的目标了
要是多个子表达式()的话,就可能会有$match[2],$match[3]..可能说得有些乱,这些东西用习惯就好.