我有这样的正则表达式:
hours_and_address_reg = /(?<=<span class="infoTitle">godziny otwarcia: <\/span>).*?(?=<div id="singleOutpostIcons">)/
所以我希望得到
之间的所有文字<span class="infoTitle">godziny otwarcia: <\/span>
和<div id="singleOutpostIcons">
示例文档(我将它保存在String变量中),如下所示:
<span class="infoTitle">godziny otwarcia: </span>
pn-pt: <span class="openHours">9.00-17.00</span><br/>
so: <span class="openHours">zamknięte</span><br/>
nd: <span class="openHours">zamknięte</span><br/>
<span class="infoTitle">obsługa kasowa: </span>
pn-pt: <span class="openHours"> 09:00-17:00</span><br/>
so: <span class="openHours"> -</span><br/>
nd: <span class="openHours"> -</span><br/>
<hr class="break-line">
<div id="singleOutpostIcons">
有什么问题? 这个正则表达式是正确的,我在http://rubular.com/
上查了一下但该行
hours_and_address = hours_and_address_reg.match(address_and_hours_box).to_s
puts hours_and_address
什么都没有。
也许问题是断线?
答案 0 :(得分:0)
我解决了这个问题。 Ruby的解决方案:
hours_and_address_reg = Regexp.new('(?<=<span class="infoTitle">godziny otwarcia: <\/span>).*?(?=<div id="singleOutpostIcons">)', Regexp::MULTILINE)