哎,求2个正则合并成一个正则怎么写啊,谢谢
Jun 23, 2016 pm 02:09 PM 这是要匹配的内容
<td class="LightRowHead">Primary Color:</td><td class="LightRow">Multi-Color</td></tr><tr><td class="DarkRowHead">Multi Pack Indicator:</td><td class="DarkRow">No</td></tr><tr><td class="LightRowHead">Battery Type:</td><td class="LightRow">Does Not Contain a Battery</td></tr>
这个个正则,怎么合并成一个啊
$a = preg_match_all('/LightRowHead.*?>(.*?):.*?LightRow.*?>(.*?)</is', $content, $a);$a = preg_match_all('/DarkRowHead.*?>(.*?):.*?DarkRow.*?>(.*?)</is', $content, $b);
我这样写不对
$a = preg_match_all('/[LightRowHead|DarkRowHead].*?>(.*?):.*?[LightRow|DarkRow].*?>(.*?)</is', $content, $c);
求高人指点
回复讨论(解决方案)
(xx|yy)
用方括号括起就变成字符单选了,要用圆括号
$a = preg_match_all('/(LightRowHead|DarkRowHead).*?>(.*?):.*?(LightRow|DarkRow).*?>(.*?)', $content, $LightRowHead);
不想加入向前引用的话可写作
$a = preg_match_all('/(?:LightRowHead|DarkRowHead).*?>(.*?):.*?(?:LightRow|DarkRow).*?>(.*?)', $content, $LightRowHead);
需要前后配对的话可写作
$a = preg_match_all('/(LightRow|DarkRow)Head.*?>(.*?):.*?\\1.*?>(.*?)', $content, $LightRowHead);
用方括号括起就变成字符单选了,要用圆括号
$a = preg_match_all('/(LightRowHead|DarkRowHead).*?>(.*?):.*?(LightRow|DarkRow).*?>(.*?)', $content, $LightRowHead);
不想加入向前引用的话可写作
$a = preg_match_all('/(?:LightRowHead|DarkRowHead).*?>(.*?):.*?(?:LightRow|DarkRow).*?>(.*?)', $content, $LightRowHead);
需要前后配对的话可写作
$a = preg_match_all('/(LightRow|DarkRow)Head.*?>(.*?):.*?\\1.*?>(.*?)', $content, $LightRowHead);
果然,csdn的人就是热情,谢谢你和二楼..

熱門文章

熱門文章

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)