2017-09-28 3 views
2

私は、順序付けられていないリストとしてHTMLに大きなTOCを持っています。リスト内の各アンカータグには、それぞれ独自のid属性があります。おそらく、Dreamweaverまたはnotepad ++のどちらかを使用しています。id属性を見つけてコピーし、href属性に設定されたハッシュ(.html#)の後に置きたいので、長いTOCがそのページの位置にスクロールしますにナビゲートしました。最後に見つけてコピーして挿入する正規表現

ので、以下の例のために:

<li><a id="a4.9" href="trigger_marker.html#">Trigger marker</a> </li> 
<li><a id="a4.10" href="timedelayarrow.html#">Time-delay arrow</a> </li> 
<li><a id="a4.11" href="spectrumview.html#">Spectrum view</a> </li> 

私は結果がなりたい:

<li><a id="a4.9" href="trigger_marker.html#a4.9">Trigger marker</a> </li> 
<li><a id="a4.10" href="timedelayarrow.html#a4.10">Time-delay arrow</a> </li> 
<li><a id="a4.11" href="spectrumview.html#a4.11">Spectrum view</a> </li> 

すべてのヘルプは、いつものように非常に高く評価され、この上の試みの私の不足の謝罪が、正規表現は私がこれを達成できるかもしれないと思う唯一の方法であり、私は正規表現の知識をほとんど経験していない。

+0

使用この '(?<= ID = ")([^" を取得します\ n] +) "[^#\ n] +#\ K' [リンク](https://regex101.com/r/TTPhuz/4) – Gurman

答えて

2

この正規表現を試してみてください:

(?<=id=")([^"\n]+)"[^#\n]+#\K

Click for Demo

説明:

  • (?<=id=") - 正はid="
  • が先行する位置を検索後読み
  • ([^"\n]+) - どちら"も改行文字の任意の文字の1+出現をマッチングし、
  • "グループでそれをキャプチャする - 一致する"文字通り
  • [^#\n]+ - 1+である任意の文字の出現もない#のマッチングも改行文字
  • # - #と全く同じです。
  • \K - それまでのものはすべて忘れてしまいました。ここで、我々は、交換後のグループ1

で撮影したものを挿入する必要が位置、

enter image description here

+0

ダウン投票の理由は何ですか?正規表現? – Gurman

+0

ああ私の言葉!あなたは伝説です。ありがとうございました。私の指を引っ張り、正規表現を手に入れる必要があるので、説明は非常に高く評価されています。 –

+0

私はupvotedと答えとして受け入れ、それはnです私は間違って何をしたのですか? –

関連する問題