複数行のテキスト文字列からいくつかのグッズを探しています。Perl で正規表現を行うのは快適ですが (ただし、以下のコードよりも優れた方法があると確信しています)、Javascript の newSubStr の一部として正規表現でマークされた文字列を使用する方法が実際にはわかりません。オーディオとソース行を捨てる方法はありますか、またはこれで複数の置換を実行して立ち往生していますか?
$_ = <<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";
(私の限られた)Javascriptの複数の正規表現は次のようになります:
// 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);