我期待從多行文本字符串中挖掘出一些好東西。我很喜歡在Perl中使用正則表達式(雖然我確信有比下面的代碼更好的方法),但是並不真正瞭解如何在正則表達式中使用標記字符串作爲Javascript中newSubStr的一部分。有沒有辦法,或者我堅持在它上面運行多個替換以消除音頻和源代碼行?在(我有限的)投票需要幫助將Perl正則表達式轉換爲Javascript正則表達式
$_ = <<END;
<audio controls="controls" preload="metadata">
<source src="01.mp3" type="audio/mpeg">
<source src="01.ogg" type="audio/ogg">
Stuff
Default: <a href="01.mp3">>>download</a>
</audio>
END
s#.*<source.*?>.*?\n(.*)\n</audio>.*#$1#s;
print "[$_]\n";
倍數的正則表達式可能是這樣的:
// We're really dependent on the HTML layout for line feeds
// so watch out.
var line = aElems[i].innerHTML.replace(/.*?audio.*?\n/gm, '');
var line2 = line.replace(/.*<source.*?\n/mg, '');
console.log(line2);
你想做什麼?你是否擁有一堆HTML文件,或者你想在瀏覽器中執行此操作?你爲什麼在這裏使用JavaScript?你試過什麼了? – 2012-04-04 17:47:29
用正則表達式解析html不是一個好主意。 – kirilloid 2012-04-04 17:47:29
@briandfoy我只是試圖(基本上)摧毀一個音頻標籤,用它的內部文本替換它。我這樣做,當我發現瀏覽器支持音頻標籤,但沒有可用的來源。看到我的相關問題在[http://stackoverflow.com/q/10016079/1311457] – SidMuchRock 2012-04-04 18:02:13