[已解决]请问正则表达式里的用了多个(),想要最外面的()内容,怎么设置?
本帖最后由 onepc 于 2011-5-17 07:43 编辑<td align="center">气温</td>
<td>28℃~24℃</td>
<td>29℃~25℃</td>
<td>31℃~26℃</td>
<td>32℃~26℃</td>
<td>33℃~26℃</td>
<td>31℃~25℃</td>
<td>28℃</td>
源码以上,
我用
$math ='(\d+℃(~\d+℃)?)'
$array = StringRegExp($sHTML , $math, 3)
这样得出的内容,他会把~24℃ 这个也放到数组。
我想要的只是外面的大括号内容,不要小括号里的内容。怎么设置?
$math ='(\d+℃(?:~\d+℃)?)' ?:...表示不捉这个括号里的东东到数组里。 本帖最后由 onepc 于 2011-5-16 12:52 编辑
$math ='\d+℃~\d+℃|\d+℃'
用这样的话,正常
我想问下。若是多个括号里的如何只要最外面的括号的内容。就像上面的$math ='(\d+℃(~\d+℃)?)' 先取包含温度的<td>℃</td>段
然后每段分别取℃前的数值 <td>(.*?℃.*?)</td>
页:
[1]