web-dev-qa-db-ja.com

Windows上のファイルから正規表現の一致を抽出する方法

正規表現をたくさん使っています。私はすべての編集目的でEditPadproを使用しています。ほとんどの場合、ファイル内のすべての正規表現の一致を別のファイルに抽出する必要があります。これを実行できるソフトウェアはありますか?

例:

連絡先ファイルの操作中。すべてのメールアドレスを別のファイルに抽出する必要があります。

4
claws

RegexBuddyEditPad Pro の姉妹製品は、Grepタブを介してこれを非常にうまく実行します。フォルダを繰り返し、一致するものをファイルに抽出します。また、定期的な式の作成とテストにも最適です。

以下の設定を使用してください。

  • [ライブラリ]タブから、作成済みの電子メール正規表現を追加できます
  • 上部のツールバーの[一致]ボタンを必ず選択してください
  • [Grep]タブにファイルの詳細を入力し、[結果を1つのファイルに保存]を選択します

ファイルのセクションを[テスト]タブに貼り付けることで、正規表現をテストできます。

  • 「Grep」ドロップダウンから「実行」を押して実行します。

RegexBuddy screenshot

5
pelms

インストール Cygwin 、それはあなたにウィンドウ上で非常に機能的なUNIXライクな環境を与えるでしょう。次に、基本的なgrep、egrep、awk、sed、またはPerlを学習します。時間は非常によく投資されました。ほんの数例:

# extract email addresses from text.txt to emails.txt
egrep -o '[[:alnum:].]+@[[:alnum:].]+' < text.txt > emails.txt
# extract third whitespace separated column from lines starting with "DEBUG"
awk '/^DEBUG/ { print $3 }' < text.txt > debug.txt
# replace multiple whitespace characters with one space
Perl -pe 's/[\t ]+/ /g' < text.txt > clean.txt
2
Pontus

多くのWindowsテキストエディタ(メモ帳は除く)には、正規表現をサポートする「ファイル内検索」機能が含まれています。

PowerShellにはSelect-String正規表現のマッチングを行います。

または、Windows grepポート。

2
Richard

まだ誰もfindstrに気づいていないことに驚いています。 /rスイッチで少なくとも基本的な正規表現をサポートしており、すべての半最近のWindowsバージョン(少なくとも2000まで)に存在します。

2
Joey