正規表現ツール |
grep |
PowerGREP |
RegexBuddy |
RegexMagic |
汎用アプリケーション |
EditPad Lite |
EditPad Pro |
言語 & ライブラリ |
Boost |
Delphi |
GNU (Linux) |
Groovy |
Java |
JavaScript |
.NET |
PCRE (C/C++) |
PCRE2 (C/C++) |
Perl |
PHP |
POSIX |
PowerShell |
Python |
R |
Ruby |
std::regex |
Tcl |
VBScript |
Visual Basic 6 |
wxWidgets |
XML Schema |
Xojo |
XQuery & XPath |
XRegExp |
データベース |
MySQL |
Oracle |
PostgreSQL |
このサイトについて |
はじめに |
正規表現クイックスタート |
正規表現チュートリアル |
置換文字列チュートリアル |
アプリケーションと言語 |
正規表現の例 |
正規表現リファレンス |
置換文字列リファレンス |
書籍レビュー |
印刷用PDF |
このサイトについて |
RSSフィード & ブログ |
grepは1970年代にUNIXの世界で生まれたツールです。ファイルやフォルダ(UNIXではディレクトリ)を検索し、それらのファイル内のどの行が特定の正規表現に一致するかを確認できます。 grepは、ファイル名と行番号、または正規表現に一致した実際の行を出力します。全体的に、どこを探せばよいか実際にはわからなくても、コンピューターのどこにでも保存されている情報を見つけるのに非常に便利なツールです。
次のように入力した場合grep regex *.txtgrepは現在のフォルダ内のすべてのテキストファイルを検索します。ファイル内の各行に正規表現を適用し、一致が見つかった各行を出力(つまり表示)します。これは、grepが本質的に行ベースであることを意味します。正規表現の一致は複数行にまたがることはできません。
コマンドラインで作業するのが好きな場合、従来のgrepツールは多くのタスクを容易にします。すべてのLinuxディストリビューション(フロッピーベースの小さなものを除く)には、デフォルトでgrepのバージョン(通常はGNU grep)がインストールされています。 Microsoft Windowsを使用している場合は、別途ダウンロードしてインストールする必要があります。 Borlandの開発ツールを使用している場合は、BorlandのTurbo GREPが既にインストールされています。
grepは、グロブされたファイルだけでなく、標準入力で提供するものにも対応します。標準入力で使用すると、grepは正規表現に一致する標準入力から読み取るすべての行を出力します。例:Linuxのfindコマンドは、現在のディレクトリをグロブし、見つかったすべてのファイル名を出力するため、find | grep regexは、正規表現に一致するファイル名のみを出力します。
ほとんどのバージョンのgrepは、このWebサイトの正規表現チュートリアルで説明されている正規表現フレーバーと同様に、正規表現指向のエンジンを使用します。ただし、grepの正規表現フレーバーは非常に限られています。 POSIXシステムでは、POSIX Basic Regular Expressionsを使用します。
grepの拡張バージョンはegrepと呼ばれます。これはテキスト指向エンジンを使用します。 grepもegrepも、遅延反復や先読みなどの特別な機能をサポートしておらず、grepとegrepは特定の行で一致が見つかったかどうかを示すだけなので、テキスト指向エンジンの方が高速であるという点を除けば、この区別は重要ではありません。 POSIXシステムでは、egrepはPOSIX Extended Regular Expressionsを使用します。 「拡張」という名前にもかかわらず、egrepはgrepとほぼ同じです。正規表現の構文がわずかに異なり、選択のサポートが追加されますが、後方参照のサポートが失われます。
Linuxで最も一般的なgrepのバージョンであるGNU grepは、テキスト指向エンジンと正規表現指向エンジンの両方を使用します。後方参照を使用すると、正規表現指向エンジンを使用します。それ以外の場合は、より高速なテキスト指向エンジンを使用します。繰り返しになりますが、grepが設計されたタスクでは、これはユーザーにとって重要ではありません。 「grep」コマンドを入力すると、GNU Basic Regular Expressions構文を使用します。「egrep」コマンドを入力すると、GNU Extended Regular Expressions構文を使用します。 GNUバージョンのgrepとegrepには、grepの選択とegrepの後方参照を含め、まったく同じ機能があります。構文がわずかに異なるだけです。
コマンドラインでの作業が好きな場合、従来のgrepツールが適しています。しかし、グラフィカルユーザーインターフェイスを使用したい場合は、Windowsおよびその他のプラットフォームで利用できるgrepのようなツールがたくさんあります。お気に入りのソフトウェアダウンロードサイトで「grep」を検索してください。残念ながら、多くのgrepツールにはドキュメントが不十分であり、どの正規表現フレーバーを使用するかを正確に理解する必要があります。 Perl互換であると主張しているからといって、実際そうであるとは限りません。ほぼ完全に互換性があるものもあります(ただし、決して同一ではありません)。しかし、先読みのような高度で非常に便利な構造を使用したい場合、ひどく失敗するものもあります。
際立ったWindowsベースのgrepツールの1つはPowerGREPです。
| クイック スタート | チュートリアル | ツール & 言語 | 例 | リファレンス | 書籍 レビュー |
| grep | PowerGREP | RegexBuddy | RegexMagic |
| EditPad Lite | EditPad Pro |
| Boost | Delphi | GNU (Linux) | Groovy | Java | JavaScript | .NET | PCRE (C/C++) | PCRE2 (C/C++) | Perl | PHP | POSIX | PowerShell | Python | R | Ruby | std::regex | Tcl | VBScript | Visual Basic 6 | wxWidgets | XML Schema | Xojo | XQuery & XPath | XRegExp |
| MySQL | Oracle | PostgreSQL |
ページ URL: https://regular-expressions.dokyumento.jp/grep.html
ページの最終更新日: 2020年5月27日
サイトの最終更新日: 2024年3月15日
Copyright © 2003-2024 Jan Goyvaerts. All rights reserved.