求读取中间内容的正则表达式,额滴神啊【已解决】
本帖最后由 半翅鸟 于 2012-2-28 17:02 编辑[我承认自己蠢的像个什么似的,受不了了,高手训练训练我吧,谢谢
我想把下面网页代码中间的【统一标价】的价格¥198.00元匹配出来:StringRegExp($sText, '统一标价:.*>([^<]+)', 3)我是这么写的,结果整个一行的tag都出来了
市场价格:<span class="market">¥357.00元</span><br />
本店价:<font class="price" id="ECS_SHOPPRICE">¥298.00元</font><br />
统一标价:<font class="price" id="ECS_RANKPRICE_24">¥198.00元</font><br />
</div>
颜色:<br />
我知道用这个笨方法可以匹配出来,但是也太笨了点StringRegExp($sText, 'price" id="ECS_RANKPRICE_24">([^<]+)', 3) 24\"\>(.+)\<
不知道是不是 你的正则结果多了个<font> 标价:.+?>(.+?)< 笨点也没什么不好吧, 如果前面固定是'24..' 回复 4# afan
.+? 匹配除换行符外的任意字符,重复一次或更多次但尽可能少重复;也就是说这个表达式会匹配给定字符串前面的“除换行符外的任意字符”一遍,相当于充当了一些字符? 谢谢afan ,帮助我了N错,嘿嘿,谢谢,另外请教,如果中间需要换行怎么办,我用了\s不行。颜色:.+?\s(.+?)</失败了
颜色:<br />
<label for="spec_value_16390">
<input type="radio" name="spec_240" value="16390" id="spec_value_16390" checked onClick="changePrice()" />
绿色
</label>
<br /> 回复 7# 半翅鸟 (?s)颜色:.+?(\S\V+?)\s+</
页:
[1]