web-dev-qa-db-ja.com

notepad ++のhtmlコードを見つけてワイルドカードに置き換えます

誰かが私の87歳のお父さんの問題に対する魔法の答えを教えてもらえますか?何年もの間、少なくとも10年間、彼は次の簡単なjavascriptコードを使用して、次のようなホームページから新しいウィンドウを開きました。

<a href="javascript:openWin12('videok.html')">

しかし、ついに私は、Xenuの検索結果を台無しにするため、このコードの使用をやめるように彼を説得することができました。彼のWebサイトを閲覧しているときに、新しいウィンドウがポップアップするのにうんざりしています。したがって、私は彼に、次のように、新しいウィンドウではなく、このコードを使用して新しいタブまたはページを開くことを提案しました。

<a target="_blank" class="y" href="videok.html">

彼はこの新しいコードをとても気に入ったので、自分のWebサイトのすべてのJavaScriptコードを数百ページのこの1行(数千とは言わないまでも数百)に置き換えたいと思ったので、今私はその方法を見つけようとしています。これは、Notepad ++またはMB-Search&Replaceでの彼のためのものです。

したがって、タスクは次のとおりです。

スクリプトは理論的には次のようになります。

<a href="javascript:openWin12('videok.html')">

code1ワイルドカードテキストcode2code3

ここで、code1 = <a href="javascript:openWin12('

widcardtext = videok.htmlcode2 = ')code3 = ">

code1は次のように置き換える必要があります

<a target="_blank" class="y" href="

ワイルドカードテキストはそのままにしておく必要があります。

およびcode2を削除する必要があります

code3はそのままにしておく必要があります

ちなみに、これが彼のウェブページで、私の話が本物であることを証明しています:www.lezo.hu

1
Geza

これを行うには、notepad ++で正規表現を使用できるはずです。

検索:

<a href="javascript:openWin12\('([^)]+)'\)">

次のように置き換えます:

<a target="_blank" class="y" href="\1">

「ファイル内検索」を使用する場合は、ディレクトリツリー全体に対してこれを行うように選択できます。

enter image description here

これはどのように機能しますか:

正規表現に慣れていない場合は、テキストの検索(および置換)に使用される小さなプログラミング言語です。これの魔法はここにあります:

\('([^)]+)'\)

これは、

  1. \((を見つけると言っていますが、\は特別なので、(が必要です。
  2. 次に、(はキャプチャグループを開始すると言います。これは交換に使用されます。
  3. [^)]+は、)以外のものを1つ以上見つけると言います
  4. )はキャプチャグループを終了します
  5. \))と一致します

次に、置換で\1は、キャプチャグループからテキストを取得し、置換のテキストに入れるように指示します。

1
Stephen Rauch

検索して置換 試してみてください。シンプルなユーザーインターフェースを備えています。変更されて編集が必要なスクリプト内のUNCパスを検索するためによく使用します-RegExpsで常に苦労している(私のような)人々に最適なツールです;)

0
farosch