Linux LPI 1 - 使用正则表达式
使用正则表达式
没有什么比使用正则表达式更能节省您整个搜索文件的时间了。它们不仅用于文件搜索,而且传达的信息是,它们是事情紧急时的真正救星。服务器可以有大量文件需要搜索,数千行日志需要查找,这就是正则表达式的发明者受到真诚赞扬的地方。让我们深入了解如何利用它们来提升您在不久的将来的体验。首先,您应该了解两种类型的正则表达式:基本形式和扩展形式。两者之间的差异非常微妙,它们的应用位置很大程度上取决于 grep 或 sed 等程序。本文不会对此进行更多介绍,但我们将在另一课中探讨它们。
简单的正则表达式。
正则表达式的一些最简单形式是使用字符串,例如“hope”或“faith”。 ” 一个很好的例子是这样的:
“隧道尽头的光明正是轮到我们收获的希望,这是相当有希望的”
当在这样的句子中搜索“希望”一词时,则正则表达式使用的是“hope”,因为它将匹配任何字符串,无论是长字符串还是与正则表达式大小相似的字符串。这是使用正则表达式的一个简单示例,因为正则表达式将立即为您的特定应用程序显示它,而不是阅读整个句子来查找单词“hope”。
高级且更强大的正则表达式使用非字母字符。这些字符打开了正则表达式固有的强大大门。以下是此高级形式的匹配规则:
单个字符。使用点 (.) 将代表任何字符,无论是字母还是数字。例如,a.g 将匹配 a5g、aag、apg、aRg 等任何单词,只要该单词以 a 开头并以 g 结尾。
- 方括号表达式: m[aeiou]:方括号表达式将匹配 mat、met、mit、mot 或 mut..
- 使用范围表达式: p[6-9]g:这将匹配 p6g、p7g、p8g、p9g。它将使用方括号内给定的范围来匹配给定的任务。这是一种方括号表达式的风格。
- 查找线条的起点和终点:克拉(^)和美元($)用于表示起点和终点
匹配多个字符串:当要匹配两个或多个字符串时,使用或(|)运算符。例如,为了匹配希望和信仰,你可以这样做:faith|hope - 使用 (*,? 和 +):星号用于表示空或多个出现的情况,加号(+)用于匹配单个或多个出现的情况而问号(?)用于表示空匹配或仅匹配一个。
示例:spart.* 将匹配 spartan、sparter、spart、spartoo、sparcko 等。 - 转义:可能会出现这样一个好问题,特殊字符或带有点等特殊字符的单词如何匹配。
- 一个好的答案是使用反斜杠字符转义它们。一个示例是匹配诸如 www.computingforgeeks.com 之类的 URL。正如您所看到的,URL 中带有点。为了匹配它,转义字符的使用方式如下:
www\.computingforgeeks\.com
一个好的答案是使用反斜杠字符转义它们。一个示例是匹配诸如 www.computingforgeeks.com 之类的 URL。正如您所看到的,URL 中带有点。为了匹配它,转义字符的使用方式如下:
www\.computingforgeeks\.com
请收听我们的下一课,我们将发现一些使用正则表达式的广泛使用的程序及其相关结果。要检查的程序是 grep 和 sed。