正则表达式工具 |
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 是一个起源于 20 世纪 70 年代 UNIX 世界的工具。它可以搜索文件和文件夹(在 UNIX 中为目录),并检查这些文件中的哪些行与给定的 正则表达式 匹配。Grep 将输出文件名和行号或与正则表达式匹配的实际行。总而言之,这是一个非常有用的工具,用于查找存储在计算机上的任何位置的信息,即使(或特别是)你不知道在哪里查找。
如果你键入 grep regex *.txt,grep 将搜索当前文件夹中的所有文本文件。它将把正则表达式应用于文件中的每一行,并打印(即显示)找到匹配项的每一行。这意味着 grep 本质上是基于行的。正则表达式匹配不能跨越多行。
如果你喜欢在命令行上工作,传统的 grep 工具将使许多任务变得更容易。所有 Linux 发行版(除了基于软盘的小型发行版)默认安装 grep 的一个版本,通常是 GNU grep。如果你使用 Microsoft Windows,你需要单独下载并安装它。如果你使用 Borland 开发工具,你已经安装了 Borland 的 Turbo GREP。
grep 不仅可以处理 globbed 文件,还可以处理你在标准输入中提供的任何内容。当与标准输入一起使用时,grep 将打印从标准输入中读取的所有与正则表达式匹配的行。例如:Linux find 命令将 glob 当前目录并打印它找到的所有文件名,因此 find | grep regex 将只打印与正则表达式匹配的文件名。
大多数版本的 grep 使用正则表达式导向的 引擎,就像本网站 正则表达式教程 中讨论的正则表达式风格一样。但是,grep 的正则表达式风格非常有限。在 POSIX 系统上,它使用 POSIX 基本正则表达式。
grep 的增强版本称为 egrep。它使用 文本导向引擎。由于 grep 和 egrep 都不支持任何特殊功能,如 惰性重复 或 环视,而且 grep 和 egrep 仅指示在特定行上是否找到匹配项,因此除了文本导向引擎更快之外,此区别并不重要。在 POSIX 系统上,egrep 使用 POSIX 扩展正则表达式。尽管名称为“扩展”,但 egrep 与 grep 几乎相同。它只是使用略微不同的正则表达式语法并添加了对交替的支持,但失去了对反向引用的支持。
GNU grep 是 Linux 上最流行的 grep 版本,它同时使用文本导向和正则表达式导向引擎。如果您使用反向引用,它将使用正则表达式导向引擎。否则,它将使用更快的文本导向引擎。同样,对于 grep 所设计的任务,这对您(用户)来说并不重要。如果您键入“grep”命令,您将使用 GNU 基本正则表达式语法。如果您键入“egrep”命令,您将使用 GNU 扩展正则表达式语法。GNU 版本的 grep 和 egrep 具有完全相同的功能,包括 grep 的交替和 egrep 的反向引用。它们仅使用略微不同的语法。
如果您喜欢在命令行上工作,那么传统的 grep 工具适合您。但是如果您喜欢使用图形用户界面,则有许多类似 grep 的工具可用于 Windows 和其他平台。只需在您最喜欢的软件下载网站上搜索“grep”即可。不幸的是,许多 grep 工具附带的文档很差,需要您自己弄清楚它们确切使用哪种正则表达式风格。这并不是因为它们声称与 Perl 兼容,而是它们实际上是兼容的。有些几乎完全兼容(但永远不会完全相同),但当您想要使用高级且非常有用的构造(如 环视)时,其他则会惨败。
一款在众多 Windows grep 工具中脱颖而出的工具是 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://regexper.cn/grep.html
页面上次更新时间:2020 年 5 月 27 日
网站上次更新时间:2024 年 3 月 15 日
版权所有 © 2003-2024 Jan Goyvaerts。保留所有权利。