手机版

linux正则表达式详细说明(基本正则表达式扩展正则表达式)

时间:2021-08-28 来源:互联网 编辑:宝哥软件园 浏览:

正则表达式应用广泛,如php、Python、java等。但linux中最常用的正则表达式命令是grep(egup)、sed、awk等。换句话说,如果linux的三剑客想要更高效地工作,就必须依靠正则表达式的配合。

1.什么是正则表达式?

简而言之,正则表达式是为处理大量字符串而定义的一组规则和方法。在这些特殊符号的帮助下,系统管理员可以快速过滤、替换或输出所需的字符串。Linux正则表达式通常以行为为单位进行处理。

2.为什么要学习正则表达式

在企业工作中,我们在日常的linux运维工作中,总是面临着大量的带有字符串的文本配置、程序、命令输出和日志文件,我们往往迫切需要从大量的字符串内容中找到符合工作需要的特定字符串,这就需要依赖正则表达式。因此,可以说正则表达式就是为过滤这样的字符串而诞生的!

3.两个容易混淆的注意事项:

1)linux正则表达式一般以行为单位处理。

2)正则表达式本质上不同于我们经常使用的通配符,例如:ls *。txt,其中*是通配符(代表全部),不是正则表达式。

注意字符集问题:

确保字符集:exportlc _ all=C。

-

基本正则表达式扩展正则表达式解释;

-。代表并且只能代表任何一个字符(不包括空行)*重复前面的任何0个或更多字符。*匹配所有字符。(包括空行)sed -ri的#(。*)#\1#g' bqh.txt在与\1常规匹配后取出括号中的结果。什么是bqh的开始,什么是bqh的结束?$表示空行。\示例\。它只代表了点本身,逃离了符号,让具有特殊身份的角色移动,脱下马甲,还原原型\ $。*以任意数量的字符开头。* $以任意数量的字符结尾。(.*)从第一个字符匹配到空格停止,【abc】匹配字符集内的任意字符【a-za-z】【ABC】,匹配其后不包含任何字符的内容;在括号中,“取反”,并注意与“.”的区别。一个\{n,m\}重复n到m次,前一个重复字符。如果斜杠有用的话,egreep/sed-r可以删除它。\{n,\}至少重复n次,即前面重复的字符。如果斜杠有用的话,egreep/sed-r可以删除它。\{n\}重复n次,前一个重复字符。如果斜杠有用的话,egreep/sed-r可以删除它。(1)单词搜索从单词开始;六一行就够了;word$ Search以word结尾;一行的开头 $表示空行。扩展正则表达式:ERP(egreep或grep -E)

重复一个或多个以前的字符?复杂的0或0前的一个字符|通过使用或查找“用户组”字符串来查找多个匹配的字符串()

实例:

m搜索那些以m开头的。

P$搜索a

$表示空数字

删除空行:grep-v“^$”bqh . log

删除后检查空行:grep-VN“^$”bqh . log

。表示并且只能表示任何一个字符(不包括空行)

查找包含0的字符:

。*匹配所有字符。(包括空行)

查找以结尾的字符。

错误方法:grep '。$' bqh.log

正确的方法:

grep "\。$" bqh.log

注意:\。它只代表点本身,逃避符号,让具有特殊身份的角色移动,脱下马甲,还原原型

*示例1*重复一个或多个先前的字符。

Grep -o "1*" bqh.log //-o//-o完全匹配

。*以任意数量的字符开头。

。* $以任意数量的字符结尾。

[abc]匹配字符集[a-zA-Z]中的任何字符

匹配字符集中从a到z的任何小写字符:

[ABC]匹配后面不包含任何字符的内容;括号内“取反”,注意与“从”的区别

匹配任何不是数字的字符:

一个\{n,m\}重复n到m次,前一个重复字符。如果斜线有用的话,可以去掉。

\{n,\}至少重复n次,即前面重复的字符。如果斜杠有用的话,egreep/sed-r可以删除它。

\{n\}重复n次,前一个重复字符。如果斜杠有用的话,egreep/sed-r可以删除它。

注意:egrep、grep -E或sed -r过滤器一般特殊字符不能转义。使用更多参数。

-

扩展正则表达式:ERP(egreep或grep -E)

重复一个或多个先前的字符

?复数0或0之前的字符

|通过或查找多个匹配的字符串

()查找“用户组”字符串

摘要

以上是边肖介绍的linux正则表达式(基本正则表达式和扩展正则表达式)的详细说明,希望对大家有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!

版权声明:linux正则表达式详细说明(基本正则表达式扩展正则表达式)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

相关文章推荐