3

以前にこの質問の簡易版を投稿しましたが、単純化しすぎたのではないかと思うので、実際の問題は次のとおりです。

次の「a_dog」を見つけるために(Notepad ++などで)正規表現を使用したい(壁について申し訳ありません):

<object classid="clsid:D27CDB6E-AE6D-11cf" id="FlashID">
<param name="movie" value="../flash/words/a_dog.swf">
<param name="quality" value="high">
<param name="wmode" value="opaque">
<param name="swfversion" value="6.0.65.0">
<!--[if !IE]>-->
  <object data="../flash/words/a_dog.swf" type="application/x-shockwave-flash">
     <!--<![endif]-->
     <param name="quality" value="high">
     <param name="wmode" value="opaque">
     <param name="swfversion" value="6.0.65.0">
     <!--[if !IE]>-->
  </object>
<!--<![endif]-->
</object>

次に、後方参照を使用して、次のように øø のすべてのインスタンスを a_dog に置き換えます。

<input type="button" class="ButtonNormal" onClick="audio_func_øø()">
 <script>
    function audio_func_øø() {
    var playAudio = document.getElementById("element_øø");
    playAudio.play();
    }
 </script>
 <audio id="element_øø">
    <source src="../audio/words/øø.mp3" type='audio/mpeg'>
    <source src="../audio/words/øø.wav" type='audio/wav'>
 </audio>

そのため、2 番目のコードのみが残り (øø の代わりに a_dog を使用)、最初のコードの痕跡は残りません。

4

1 に答える 1

4

Notepad ++でこれを行う方法はわかりませんが、正規表現、スニペット、および複数選択を使用してSublimeTextでこれを行うことができます:

最初に、以下を含む新しいスニペット (ガイド)を作成します。

<snippet>
    <content><![CDATA[

<input type="button" class="ButtonNormal" onClick="audio_func_$1()">
<script>
    function audio_func_$2() {
        var playAudio = document.getElementById("element_$3");
        playAudio.play();
    }
</script>
<audio id="element_$4">
    <source src="../audio/words/$5.mp3" type='audio/mpeg'>
    <source src="../audio/words/$6.wav" type='audio/wav'>
</audio>

    ]]></content>

    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>audioSnippet</tabTrigger>
</snippet>

User パッケージに任意の名前で保存します。機能させるために保存する方法/場所について質問がある場合は、リンクされた記事に従ってください。これがどのように機能するかについては後で説明します。

次に、次のパターンを使用して (正規表現を有効にして) 検索することにより、Sublime Text で次の正規表現を使用します。

(?<=value="../flash/words/).+(?=\.swf)

[すべて検索] をクリックすると、複数選択を使用してすべての名前 (「a_dog」、「a_cat」、「a_plane」など) が選択されます。

  • 選択した単語をコピーします(Ctrl+Cまたはシステム上の同等の単語)
  • メニューで、Selection->Expand to Paragraph (これにより、<object>開始位置と</object>終了位置が選択されます)
  • を削除するには、Delete/Backspace を押します<object>
  • スニペットのショートカットを入力し (上記で「audioSnippet」と定義しました)、Tab キーを押します。
  • コピーしたテキスト (Ctrl+Vまたはシステム上の同等のもの) に貼り付けます

が表示されるスニペットのテキストのみを置き換えたことに気付くでしょう$1。Tab キーを押して にジャンプし$2、もう一度テキストを貼り付け ( Ctrl+V)、タブ ストップに到達するまで繰り返します$6

ここで見ることができるスクリーン キャプチャを作成しました: http://youtu.be/oo2MQV3X244 (YouTube の非公開ビデオ)

于 2012-12-17T15:27:59.673 に答える