【置顶】有木有知道正则表达式中的嵌套匹配的语法的? 求大神讲解,百度搜了很多看不明白,希望大神能讲解一下语法是怎样的,谢谢了!例如:(a(b(d))c)(e(f(g))m).....我想得到(a(b(d))c) 和 (e(f(g))c)正则表达式嵌套匹配 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <?php$str = '(a(b(d))c)(e(f(g))m)';$reg = '#\(([^\(\)]+|(?R))*\)#';$matches = array();preg_match_all($reg, $str, $matches);var_dump($matches); 能吧括号换成html标签然后讲解一下吗? 能吧括号换成html标签然后讲解一下吗?你直接贴你自己实际代码 别人好帮你实际分析 $str = '<div id="2"><div id="4"><div id="8"></div></div><div id="5"></div></div><div id="10"><div id="35"><div id="13"></div></div><div id="59"><div id="15"></div></div></div>';//匹配出id为2和id为35的div所包含的内容$reg = '//';preg_match_all($reg, $str, $matches);echo "<pre>";var_dump($matches);echo "</pre>"; <?php$str = '<div id="2"><div id="4"><div id="8"></div></div><div id="5"></div></div><div id="10"><div id="35"><div id="13"></div></div><div id="59"><div id="15"></div></div></div>';//$reg = '#\(([^\(\)]+|(?R))*\)#';//匹配出id为2和id为35的div所包含的内容$reg = '#<div id="(?:2|35)">(<([^>\s]+)[^>]*>([<>]*|(?1))*?</\2>)*</div>#';preg_match_all($reg, $str, $matches);echo "<pre>";var_dump($matches);echo "</pre>";虽然可以用,但是不推荐这样用,还是用DOMDocument之类的工具获取内容比较好,毕竟他们更加擅长。 <?php$str = '<div id="2"><div id="4"><div id="8"></div></div><div id="5"></div></div><div id="10"><div id="35"><div id="13"></div></div><div id="59"><div id="15"></div></div></div>';//$reg = '#\(([^\(\)]+|(?R))*\)#';//匹配出id为2和id为35的div所包含的内容$reg = '#<div id="(?:2|35)">(<([^>\s]+)[^>]*>([<>]*|(?1))*?</\2>)*</div>#';preg_match_all($reg, $str, $matches);echo "<pre>";var_dump($matches);echo "</pre>";上面那个没有语法高亮 apache的配置问题 web邮件系统设计和架构 smarty是什么,他可以代替源文件吗? ThinkPHP中应用FCK问题 有没有一些小型的知识库管理系统 用destoon开发的一个电子商务http://www.douyin001.com/ 我想在这里加个时间间隔,在一天内刷新页面不会换内容。 请问下wordpress做企业站如何图片展示 nginx负载均衡问题!急急急!!!求大神指教!!! php怎么取sql里面逗号分隔的字母或数字 是不是php判断不出现的代码,文件读取的时候就是不会读取的呢? 跨域问题
$str = '(a(b(d))c)(e(f(g))m)';
$reg = '#\(([^\(\)]+|(?R))*\)#';$matches = array();
preg_match_all($reg, $str, $matches);var_dump($matches);
能吧括号换成html标签然后讲解一下吗?
能吧括号换成html标签然后讲解一下吗?
你直接贴你自己实际代码 别人好帮你实际分析
//匹配出id为2和id为35的div所包含的内容
$reg = '//';
preg_match_all($reg, $str, $matches);
echo "<pre>";
var_dump($matches);
echo "</pre>";
$str = '<div id="2"><div id="4"><div id="8"></div></div><div id="5"></div></div><div id="10"><div id="35"><div id="13"></div></div><div id="59"><div id="15"></div></div></div>';
//$reg = '#\(([^\(\)]+|(?R))*\)#';
//匹配出id为2和id为35的div所包含的内容$reg = '#<div id="(?:2|35)">(<([^>\s]+)[^>]*>([<>]*|(?1))*?</\2>)*</div>#';
preg_match_all($reg, $str, $matches);
echo "<pre>";
var_dump($matches);
echo "</pre>";虽然可以用,但是不推荐这样用,还是用DOMDocument之类的工具获取内容比较好,毕竟他们更加擅长。
<?php
$str = '<div id="2"><div id="4"><div id="8"></div></div><div id="5"></div></div><div id="10"><div id="35"><div id="13"></div></div><div id="59"><div id="15"></div></div></div>';
//$reg = '#\(([^\(\)]+|(?R))*\)#';
//匹配出id为2和id为35的div所包含的内容$reg = '#<div id="(?:2|35)">(<([^>\s]+)[^>]*>([<>]*|(?1))*?</\2>)*</div>#';
preg_match_all($reg, $str, $matches);
echo "<pre>";
var_dump($matches);
echo "</pre>";上面那个没有语法高亮