正規表現に関する約15のチュートリアルを読みましたが、問題に合わせて調整できなかったため、明らかに理解できていません。
私は多くの異なるドキュメントに見られるコードのセットを持っています。 2つのアンカータグ間でコンテンツが異なるこれらのバリアントが存在する可能性がありますが、ここに1つのバリアントがあります(他はすべて同様の形式です)。
[anchor=ad1][img]http://i.imgur.com/48rwaraw.png[/img]
[URL=http://goo.gl/Ii3WNz][img]http://i.imgur.com/rBbf7nM.png[/img][/URL]
[size=7pt]Advertised sites are not endorsed and may be unsafe, untrustworthy, or illegal in your jurisdiction. [url=http://goo.gl/aw52j52]Advertise here.[/url][/size]
[img]http://i.imgur.com/48rwaraw.png[/img][anchor=ad1end]
アンカータグ間のすべてを置き換えることができるようにしたい、つまり私の*がここにある場所:
[anchor=ad1]*[anchor=ad1end]
違いが生じる場合、置換には元の文字と同様の文字が含まれます。正規表現で正しい文字列を見つけることができないようです。別の文字列に置き換えてもかまいません。助けてくれてありがとう。
編集:ToolBucketを使用して複数行を使用する
ソリューション#1
_Find what
_で次の正規表現を使用します:\[anchor=ad1\](.*?)\[anchor=ad1end\]
、
_Replace with
_:_[anchor=ad1]replace[anchor=ad1end]
_
そして_Regular expression
_と_[x] . matches newline
_を選択します
テスト用のサンプルデータ:
_[anchor=ad1]some multiline string of text
that should be replaced[anchor=ad1end]
[anchor=ad1][img]http://i.imgur.com/some_image.png[/img]
another one multiline string of text
that should be replaced[anchor=ad1end]
...
_
ソリューション#2
もう少し高度なソリューション。これには、Notepad ++ v6.0以降が必要です。
何を見つける:_(?<=\[anchor=ad1\]).*?(?=\[anchor=ad1end\])
_
次のように置き換えます:replace
_Regular expression
_と_[x] . matches newline
_を選択します
重要な注意:Replace
ボタンはNotepad ++ v6.1.6では機能しませんが、_Replace All
_は問題なく機能します。