正規表現: ---コメントセクションから単語を削除 ---

正規表現: ---コメントセクションから単語を削除 ---

私のブログには、https://mywebsite.com特定のコメントセクションから、それらのリンク(/story1.html、/story2.htmlなどより前)を削除したいのですが

<!-- FLAGS1 --> <div class="cotarerField"> <div align="right">

<a href="https://mywebsite.com/story1.html"><img src="index_files/flag_lang_ro.jpg" title="ro" alt="ro" width="28" height="19" /></a>&nbsp; 
<a href="https://mywebsite.com/fr/story2.html"><img src="index_files/flag_lang_fr.jpg" title="fr" alt="fr" width="28" height="19" /></a>&nbsp; 
<a href="https://mywebsite.com/en/story3.html"><img src="index_files/flag_lang_en.jpg" title="en" alt="en" width="28" height="19" /></a>&nbsp; 
<a href="https://mywebsite.com/es/story4.html"><img src="index_files/flag_lang_es.jpg" title="es" alt="es" width="28" height="19" /></a>&nbsp; 
<a href="https://mywebsite.com/pt/story5.html"><img src="index_files/flag_lang_pt.jpg" title="pt" alt="pt" width="28" height="19" /></a>&nbsp; 
<a href="https://mywebsite.com/ar/story6.html"><img src="index_files/flag_lang_ae.jpg" width="28" height="19" title="ar" alt="ar" /></a>&nbsp; 
<a href="https://mywebsite.com/zh/story7.html"><img src="index_files/flag_lang_zh.jpg" width="28" height="19" title="zh" alt="zh" /></a>&nbsp; 
<a href="https://mywebsite.com/hi/story8.html"><img src="index_files/flag_lang_hi.jpg" width="28" height="19" title="hi" alt="hi" /></a>&nbsp; 
<a href="https://mywebsite.com/de/story9.html"><img src="index_files/flag_lang_de.jpg" width="28" height="19" title="de" alt="de" /></a>&nbsp; 
<a href="https://mywebsite.com/ru/story10.html"><img src="index_files/flag_lang_ru.jpg" width="28" height="19" title="ru" alt="ru" /></a>
</div>
<!-- FLAGS1 -->

またはここで確認することもできます https://pastebin.com/Dtt3KjME

期待される結果 (すべて削除https://mywebsite.com/)

<!-- FLAGS1 --> <div class="cotarerField"> <div align="right">

<a href="story1.html"><img src="index_files/flag_lang_ro.jpg" title="ro" alt="ro" width="28" height="19" /></a>&nbsp; 
<a href="fr/story2.html"><img src="index_files/flag_lang_fr.jpg" title="fr" alt="fr" width="28" height="19" /></a>&nbsp; 
<a href="en/story3.html"><img src="index_files/flag_lang_en.jpg" title="en" alt="en" width="28" height="19" /></a>&nbsp; 
<a href="es/story4.html"><img src="index_files/flag_lang_es.jpg" title="es" alt="es" width="28" height="19" /></a>&nbsp; 
<a href="pt/story5.html"><img src="index_files/flag_lang_pt.jpg" title="pt" alt="pt" width="28" height="19" /></a>&nbsp; 
<a href="ar/story6.html"><img src="index_files/flag_lang_ae.jpg" width="28" height="19" title="ar" alt="ar" /></a>&nbsp; 
<a href="zh/story7.html"><img src="index_files/flag_lang_zh.jpg" width="28" height="19" title="zh" alt="zh" /></a>&nbsp; 
<a href="hi/story8.html"><img src="index_files/flag_lang_hi.jpg" width="28" height="19" title="hi" alt="hi" /></a>&nbsp; 
<a href="de/story9.html"><img src="index_files/flag_lang_de.jpg" width="28" height="19" title="de" alt="de" /></a>&nbsp; 
<a href="ru/story10.html"><img src="index_files/flag_lang_ru.jpg" width="28" height="19" title="ru" alt="ru" /></a>
</div>
<!-- FLAGS1 -->

答え1

  • Ctrl+H
  • 検索対象:(?:\A[\s\S]*<!-- FLAGS1 -->|\G)(?:(?!<!-- FLAGS1 -->)[\s\S])+?\Khttps://mywebsite\.com/(?=[\s\S]*<!-- FLAGS1 -->)
  • と置換する:LEAVE EMPTY
  • チェック ラップアラウンド
  • 正規表現をチェック
  • Replace all

説明:

(?:                         # non capture group
  \A                        # beginning of file
  [\s\S]*                   # 0 or more any character
  <!-- FLAGS1 -->           # literally
 |                          # OR
  \G                        # restart from last match position
)                           # end group
(?:                         # non capture group (Tempered Greedy Token)
  (?!<!-- FLAGS1 -->)       # negative lookahead, make sure we haven't <!-- FLAGS1 -->
  [\s\S]                    # any character
)+?                         # end group, appears 1 or more times, not greedy
\K                          # forget all we have seen until this position
https://mywebsite\.com/     # text to be removed
(?=[\s\S]*<!-- FLAGS1 -->)  # positive lookahead, make sure we have <!-- FLAGS1 -->  after

与えられた条件:

<a href="https://mywebsite.com/ru/story10.html"><img src="index_files/flag_lang_ru.jpg" width="28" height="19" title="ru" alt="ru" /></a>

<!-- FLAGS1 --> <div class="cotarerField"> <div align="right">

<a href="https://mywebsite.com/story1.html"><img src="index_files/flag_lang_ro.jpg" title="ro" alt="ro" width="28" height="19" /></a>&nbsp; 
<a href="https://mywebsite.com/fr/story2.html"><img src="index_files/flag_lang_fr.jpg" title="fr" alt="fr" width="28" height="19" /></a>&nbsp; 
</div>

<!-- FLAGS1 -->

<a href="https://mywebsite.com/ru/story10.html"><img src="index_files/flag_lang_ru.jpg" width="28" height="19" title="ru" alt="ru" /></a>

与えられた例の結果:

<a href="https://mywebsite.com/ru/story10.html"><img src="index_files/flag_lang_ru.jpg" width="28" height="19" title="ru" alt="ru" /></a>

<!-- FLAGS1 --> <div class="cotarerField"> <div align="right">

<a href="story1.html"><img src="index_files/flag_lang_ro.jpg" title="ro" alt="ro" width="28" height="19" /></a>&nbsp; 
<a href="fr/story2.html"><img src="index_files/flag_lang_fr.jpg" title="fr" alt="fr" width="28" height="19" /></a>&nbsp; 
</div>

<!-- FLAGS1 -->

<a href="https://mywebsite.com/ru/story10.html"><img src="index_files/flag_lang_ru.jpg" width="28" height="19" title="ru" alt="ru" /></a>

スクリーンキャプチャ(前):

ここに画像の説明を入力してください

スクリーンキャプチャ(後):

ここに画像の説明を入力してください

関連情報