因此,一段时间以来,正则表达式一直是我存在的祸根。我觉得我正处于理解它的风口浪尖,但我只是变得非常沮丧。简而言之:
我正在尝试通过 PHP 从以下网站抓取数据:
http://magicseaweed.com/Asbury-Park-Surf-Report/857/
我想提取页面顶部的粗体波高(目前,它显示为 3-5)。我明白为什么会这样:
preg_match('/<div class="msw-fct-ccd msw-sr-details span3"> <h3> <span>(.*)
<small>ft<\/small> <\/span> <div class="msw-fct-ccr msw-sr-rating">/', $pageMagic,
$height);
但我不明白为什么这不会:
preg_match('/<div class="msw-fct-ccd msw-sr-details span3"> <h3> <span>(/d-/d)|(/d)
<small>ft<\/small> <\/span> <div class="msw-fct-ccr msw-sr-rating">/', $pageMagic,
$height);
在我看来,从逻辑上讲,它应该寻找一个数字,一个破折号,然后是另一个数字或只是一个数字。我在http://gskinner.com/RegExr/中测试了正则表达式,它获得了 3-5。先感谢您!