找回密码
 加入
搜索
查看: 1644|回复: 3

[AU3基础] [已解决]请问正则表达式里的用了多个(),想要最外面的()内容,怎么设置?

[复制链接]
发表于 2011-5-16 12:45:59 | 显示全部楼层 |阅读模式
本帖最后由 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+℃)?)'    ?:...表示不捉这个括号里的东东到数组里。
 楼主| 发表于 2011-5-16 12:49:21 | 显示全部楼层
本帖最后由 onepc 于 2011-5-16 12:52 编辑

$math ='\d+℃~\d+℃|\d+℃'
用这样的话,正常
我想问下。若是多个括号里的如何只要最外面的括号的内容。就像上面的$math ='(\d+℃(~\d+℃)?)'
发表于 2011-5-16 12:54:50 | 显示全部楼层
先取包含温度的<td>℃</td>段
然后每段分别取℃前的数值
发表于 2011-5-16 13:00:50 | 显示全部楼层
<td>(.*?℃.*?)</td>
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-30 23:37 , Processed in 0.091443 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表