TextpadまたはNotepad ++で、正規表現検索のすべての一致を単一のリストとしてエクスポートするオプションはありますか?
大きなテキストファイルで、正規表現を使用してタグ(%%で囲まれた単語)を検索し%\< and \>%
、Excelを使用して重複を削除して一意のタグのリストを取得できるように、すべての一致を単一のリストとして必要とします。
TextpadまたはNotepad ++で、正規表現検索のすべての一致を単一のリストとしてエクスポートするオプションはありますか?
大きなテキストファイルで、正規表現を使用してタグ(%%で囲まれた単語)を検索し%\< and \>%
、Excelを使用して重複を削除して一意のタグのリストを取得できるように、すべての一致を単一のリストとして必要とします。
回答:
これを行うには、Notepad ++の後方参照と検索とマーク機能を使用します。
正規表現(%(.*?)%
)を使用して一致を見つけ、に置き換えます\n%\1%\n
。その後、ターゲットワードが別々の行になります(つまり、一致するワードが複数ある行はありません)
Search-> Find-> Mark機能を使用して各行を正規表現%(.*?)%
でマークし、テキストをマークする前に「Bookmark Line」にチェックを入れることを忘れないでください
Notepad ++でこれを行うことは必須要件ですか?Windowsまたは何らかのUnixを使用していますか?Windowsを使用している場合は、コマンドプロンプトから(部分的に)実行できます。
findstr / r "%[az]。* [az] %% [az]%" your_file > new_file
findstr
は漠然と触発されているgrep
ため、このnew_file
には検索条件に一致するすべての行が含まれます。次に、Notepad ++を使用して、不要なテキスト(最初の%の左側、2番目の%の右側)を削除します。
そして、もちろん、Unixを使用している場合は、と同等のタスクを実行できますsed
。
一致した正規表現を新しいタブの新しいファイルにコピーできるNotepad ++プラグインがあります。 正規表現
現在のドキュメントからテキストを抽出したり、いくつかの追加設定(大文字と小文字の変換など)がある場所からすべてのファイルを抽出できるNotepad ++のプラグインが見つからなかったため、自分で作成することにしました。(...)プラグインインターフェイスは非常に簡単です(...)。(...)「検索」、「置換」、および「マスク」フィールドは、C ++ 11正規表現構文を使用します。ファイルからの抽出は、現在、UTF8のファイルに対してのみ機能します。
質問に合わせたダイアログ入力の編集
画像では、ダイアログに入力する方法を見ることができます。単語にはスペースなどは含まれず、\ wに一致する文字のみが含まれると仮定します。特に:
TextPadでは、Find
通常どおりボックスをMark All
表示してから、ボタンを使用します。
そこから、Copy Bookmarked Lines
関数を使用します。([編集]メニュー> [その他のコピー]> [ブックマークされた行]。)