0
我有着相似的結構化的HTML文件的目錄正則表達式(給出兩個例子):抓取內容與在PowerShell中
文件的1.HTML
<html>
<body>
<div class="foo">foo</div>
<div class="bar"><div><p>bar</p></div></div>
<div class="baz">baz</div>
</body>
</html>
文件的2.HTML
<html>
<body>
<div class="foo">foo</div>
<div class="bar"><div><p>apple<br>banana</p></div></div>
<div class="baz">baz</div>
</body>
</html>
我想創建一個PowerShell腳本返回bar
div的內容,從所有的HTML剝離:
對於文件1.HTML:bar
對於文件2.HTML:apple banana
我現在有:
$directory = "C:\Users\Public\Documents\Sandbox\HTML"
foreach ($file in Get-ChildItem($directory))
{
$content = Get-Content $file.fullname
$test = [regex]::matches($content, '(?i)<div class="bar">(.*)</div>')
echo $test[0]
}
然而,這<div class="bar"><div><p>bar</p></div></div><div class="baz">baz</div>
返回。換句話說,正則表達式不會停止,直到最後的</div>
。我怎麼能讓它只有抓在<div class="bar">
div什麼?
在這裏閱讀一些建議:http://stackoverflow.com/a/11656434 – 2014-10-20 13:47:03