0

私はこの行を持っています.htmlファイルで繰り返されることがあります.

1-その行が重複しているファイルを見つけるための正規表現を取得します

2-正規表現を取得して、ファイルに含まれる2番目のインスタンスを検索して削除し、最初のインスタンスを残します。そのため、2 番目ではなく 1 番目のみが保持されます

行が連続していないため、多くのコードとテキストで区切られています。

行は次のとおりです。

<script src="/resources/common.js" type="text/javascript"></script>

または、次のように、削除する必要がある行の前後に単語が含まれている可能性があります。

<script src="/resources/common.js" type="text/javascript"></script><div id=something"...

Notepad++ を使用して検索と置換を行います。

4

2 に答える 2

2

EditPad Pro (または無料のEditPad Lite )を使用している場合は、簡単です。

検索する

(?s)(?<=<script src="/resources/common\.js" type="text/javascript"></script>.*)<script src="/resources/common\.js" type="text/javascript"></script>

すべてを何も置き換えません。

明確にするためのスクリーンショット:

EPP スクリーンショット

他のエディターでは、次の正規表現を繰り返し適用する必要があります (重複ごとに 1 回)。

(?s)(?<=<script src="/resources/common\.js" type="text/javascript"></script>)(.*?)<script src="/resources/common\.js" type="text/javascript"></script>

ただし、今回は一致を に置き換え\1ます。

于 2012-10-18T13:04:38.473 に答える
0

一致ではなく検索に使用される肯定的な後読みの使用を検討できます。これを使用して、行の最初の出現を検索し、残りの出現を一致させることができます。

これを試してみてください。最初の行を除くすべての行に一致します。

(?<=<script src=./resources/common.js..+?</script>.*?)(<script src=./resources/common.js..+?</script>)

: 正の後読みは、使用している正規表現エンジンによって機能する場合と機能しない場合がありますが、ほとんどの場合は機能するはずです。*


詳細: 正規表現ルックアラウンド

于 2012-10-18T12:55:25.273 に答える