3

Notepad ++を使用して、所有している多数のWebページで検索と置換を行うことを検討しています。

次のコードを変更する必要があります。

<OBJECT CLASSID="clsid:CA8A9780-280D-11CF-A24D-444553540000" WIDTH=800 HEIGHT=600> <PARAM NAME="SRC" VALUE="FILENAME.pdf"><EMBED SRC="FILENAME.pdf" HEIGHT=800 WIDTH=600> <NOEMBED> Your browser does not support embedded PDF files.</NOEMBED> </EMBED></OBJECT>

これに:

<meta http-equiv="refresh" content="0; url=FILENAME.pdf">

残念ながら、FILENAME.pdf私が持っているすべてのファイルで異なります。そのため、表示されるファイル名が何であれ元の文字列を見つけて、そのファイル名を新しい文字列で使用したいと思います。

value元の文字列には、タグの属性param( <PARAM NAME="SRC" VALUE="FILENAME.pdf">) とタグの属性src( )の 2 つのファイル名があります (それらは同じになります)。それ以外の場合、元の文字列全体が上記のリストと同じである必要があります。embed<EMBED SRC="FILENAME.pdf" HEIGHT=800 WIDTH=600>

これは正規表現で簡単にできると思いますが、どこから始めればよいかわかりません。

前もって感謝します、

4

6 に答える 6

4

探す:<OBJECT CLASSID="clsid:CA8A9780-280D-11CF-A24D-444553540000" WIDTH=800 HEIGHT=600> <PARAM NAME="SRC" VALUE="([^"]+)"><EMBED SRC="([^"]+)" HEIGHT=800 WIDTH=600>

と置換する:<meta http-equiv="refresh" content="0; url="\1">

于 2013-11-01T19:34:42.980 に答える
2

これは、あなたが要求した Notepad++ で機能するソリューションの 1 つです。

Find what:  <OBJECT.*SRC="(.*)".*</OBJECT>

Replace with:  <meta http-equiv="refresh" content="0; url=$1">

必要に応じて、「検索対象」をより明確にすることができます。

http://regex101.comも実験に最適な場所です。

于 2013-11-01T19:44:17.853 に答える
0

古風なソリューションが入ってきました...

<OBJECT CLASSID="clsid:CA8A9780-280D-11CF-A24D-444553540000" WIDTH=800 HEIGHT=600> <PARAM NAME="SRC" VALUE="と置き換えます<meta http-equiv="refresh" content="0; url=

次に、2回目の置換

<EMBED SRC="FILENAME.pdf" HEIGHT=800 WIDTH=600> <NOEMBED> Your browser does not support embedded PDF files.</NOEMBED> </EMBED></OBJECT>何も置き換えません。

私のために働いた。

編集: 注: これは正規表現を必要とせず、Notepad ++ での通常の検索/置換だけです。

于 2013-11-01T19:16:22.497 に答える
0

正規表現置換を実行して、ファイル名の前の前半を目的の部分に置き換え、同じファイル名に続く元の文字列の後半を新しいファイルの最後の数文字に置き換えることができます。

于 2013-11-01T19:05:04.330 に答える
0

regex検索と置換については、次を試してください

細かいこと: .*EMBED\s*SRC="([^.]*.pdf)".*

と置換する : <meta http-equiv="refresh" content="0; url=\1">

ここでは、変数のファイル名を処理できるように、 ([^.]*.pdf)pdf ファイル名をキャプチャし\1ます。

于 2013-11-01T19:29:09.523 に答える