亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 【請(qǐng)教】通過正則表達(dá)式處理多行的問題 [打印本頁(yè)]

作者: li_haigang    時(shí)間: 2013-03-06 23:59
標(biāo)題: 【請(qǐng)教】通過正則表達(dá)式處理多行的問題
本帖最后由 li_haigang 于 2013-03-07 00:03 編輯

下面的內(nèi)容,如何通過正則表達(dá)式匹配實(shí)現(xiàn)以下邏輯:
檢索到紅色部分后打印出綠色部分,即weight值為數(shù)字+噸,便打印其上幾行中的“/d1/d2/d3/123456”部分。而weight值為“空”,則不打印其上的“/d1/d2/d3/123457”。




-------------下面是待分析的文本---------------------



<div class="entryContent left" style="min-height:92px;">
<p style="margin:28px; width: 480px;"><a href="/d1/d2/d3/123456">hello world.</a></p>
</div>
<div class="entryInfo right">

<p class="weight">3噸</p>

</div>
<div class="entryContent left" style="min-height:92px;">
<p style="margin:28px; width: 480px;"><a href="/d1/d2/d3/123457">hi.</a></p>
</div>
<div class="entryInfo right">

<p class="weight">空</p>

</div>


作者: zhlong8    時(shí)間: 2013-03-07 08:57
/(匹配綠色部分) .*? (匹配紅色部分)  (?{print $1 if $2 !~ /空/})/sg
(?{}) 結(jié)構(gòu)可以在正則表達(dá)式中插入代碼在匹配過程中執(zhí)行。
作者: mcshell    時(shí)間: 2013-03-07 10:22
本帖最后由 mcshell 于 2013-03-07 10:23 編輯

回復(fù) 1# li_haigang
  1. perl -lne '$/=undef;1 while(/<a[^>]+=["]([^"]+)[\S\s]+?<p[^>]+weight["]>(\d+[^<]+)(?{print $1})/msg)' file
復(fù)制代碼

作者: li_haigang    時(shí)間: 2013-03-07 17:29
本帖最后由 li_haigang 于 2013-03-07 17:30 編輯
zhlong8 發(fā)表于 2013-03-07 08:57
/(匹配綠色部分) .*? (匹配紅色部分)  (?{print $1 if $2 !~ /空/})/sg
(?{}) 結(jié)構(gòu)可以在正則表達(dá)式中插入 ...




2樓您好!

下面的正則表達(dá)式為何匹配不到需要的內(nèi)容?
實(shí)際想要的內(nèi)容為:/d1/d2/d3/123456。





strings =~ /(匹配綠色部分) .*? (匹配紅色部分) /sg

print $1;




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2