
これを私のテキストの順序(段落の後に画像)として考えてください...
<p> this is my first paragraph</p>
<img src="http://xyz/123.jpg />
<p>this is my second paragraph</p>
<img src="http://123/xyz.jpg />
<p>this is my third paragraph</p>
<img src="http://123/xyz.jpg />
今私はしたい順序を変更する下記のテキストのように、notepad++ を使用してテキストを作成します (画像の後に段落が続きます)...
<img src="http://xyz/123.jpg />
<p>this is my second paragraph</p>
<img src="http://123/xyz.jpg />
<p>this is my second paragraph</p>
<img src="http://123/xyz.jpg />
<p>this is my third paragraph</p>
答え1
正規表現と組み合わせた置換関数を使用してこれを実行できます。
検索:(<p>.*?</p>)(\s+)(<img[^>]+>)
と置換する:\3\2\1
そして、「. 改行に一致」ボックスをチェックした状態で「正規表現」を選択します。
答え2
最も簡単な方法は、線を選択して p タグの上にドラッグすることだと思います。私の知る限り、これより簡単な方法はありません。
答え3
一つずつ:
1 行ずつ押すだけでCTRL+T
行を入れ替えることができます。ただし、1 行のみの場合のみ機能します (1 行に折り返された行が含まれます)。
これを行うには、カーソルを下の行の任意の場所に置いて押すとCTRL+T
、上の行と入れ替わります。
正規表現の使用:
発生件数が 1,000 件ある場合、1 件ずつ実行するのは現実的ではありません。
正規表現を使用した拡張置換も使用できますが、置換する必要があるすべてのタグ間でタグ間のコンテンツが異なる場合は、より複雑になります。
見つけてください:
(<p>.*?</p>)(\s+)(<img[^>]+>)
そして、次のように置き換えます:
\3\2\1
「正規表現」が選択され、「改行に一致」がチェックされていることを確認します。
この正規表現はすべての<p>
タグを選択し、<img>
タグと交換します。
以下のスクリーンショットを参照してください:
ここで、div タグと span タグを交換したい場合は、正規表現を次のように変更します。
(<div>.*?</div>)(\s+)(<span>.*?</span>)
スクリーンショットを参照してください:
証拠:
前に:
後:
当初希望していたタスクの証明:
前に:
後: