• 推动长江经济带发展 习近平要求境界和担当 2019-11-11
  • 丰台东铁匠营街道:品粽赏乐感受改革开放四十周年 2019-11-11
  • 学习宣传宪法 弘扬法治精神 2019-11-07
  • 山东搭建“灯塔—党建在线”网络平台 2019-11-07
  • 2016杨宗纬VOCAL巡演北京站正式开票杨宗纬VOCAL 2019-11-04
  • 年龄大了,也想积点口德,已经给你笔下留情了。 2019-11-04
  • 人民网通行证——帮助 2019-11-03
  • 端午节,跟随习近平找寻中华民族“精气神” 2019-10-30
  • 天津加入抢人大战,你会否挑花眼? 2019-10-29
  • “海河英才”行动计划为企业解渴 2019-10-29
  • 在庆祝海南建省办经济特区30周年大会上的讲话 2019-10-07
  • 俄罗斯世界杯F组:球迷风采 2019-09-24
  • 彭于晏廖凡曝姜文“精神洁癖” 2019-09-24
  • 苏州大学研究生支教团网上众筹资助留守儿童 2019-09-23
  • 湖北政务微信排行榜第187期出炉 交警类公号表现亮眼 2019-09-19
  • 香港赛马会挂牌全篇:详解linux正则表达式(基础正则表达式+扩展正则表达式)

     更新时间:2018年11月16日 09:04:59   作者:aゞ锦衣卫   我要评论
    这篇文章主要介绍了详解linux正则表达式(基础正则表达式+扩展正则表达式)的相关知识,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下

    香港赛马会网站惠泽社绝杀八码 www.mwcrz.tw

    正则表达式应用非常广泛,例如:php,Python,java等,但在linux中最常用的正则表达式的命令就是grep(egrep),sed,awk等,换句话 说linux三??鸵肽芄ぷ鞯母咝?,就一定离不开正则表达式的配合。

    1、什么是正则表达式?

    简单的说,正则表达式就是为处理大量的字符串而定义的一套规则和方法。通过定义的这些特殊符号的辅助,系统管理员就可以快速过滤、替换或者输出需要的字符串。linux正则表达式一般以行为单位处理的。

    2、为什么要学正则表达式

    在企业工作中,我们每天做的linux运维工作中,时刻都会面对大量带有字符串的文本配置、程序、命令输出及日志文件等,而我们经?;嵊衅惹械男枰哟罅康淖址谌葜胁檎曳瞎ぷ餍枰奶囟ㄗ址?,这就要靠正则表达式,因此,可以说正则表达式就是为过滤这样字符串的需求而生的!

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

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

    2)正则表达式和我们常用的通配符特殊字符是有本质区别的,例如:ls *.txt 这里的*就是通配符(表示所有),不是正则表达式。

    注意字符集问题:

    确保字符集:export LC_ALL=C

    ---------------------------------------------

    基础正则表达式+扩展正则表达式含义解释:

    ---------------------------------------------

    .   代表且只能代表任意一个字符(不包括空行)
    *   重复前面任意0个或多个字符
    .*   匹配所有字符。(包括空行)
    sed -ri 's#(.*)#\1#g' bqh.txt
    把前面正则匹配的括号内的结果,在后面用\1取出来操作。
    ^   表示以什么开头,^bqh 以bqh开头
    $   是以什么结尾
    ^$   表示空行。
    \ 例\.   就只代表点本身,转义符号,让有着特殊身份移动的字符,脱掉马甲,还原原型\$
    ^.*   以任意多个字符开头。
    .*$   以任意多个字符结尾。
    (.*)   从第一字符匹配,到空格停止,
    [abc]   匹配字符集合内的任意一个字符【a-zA-Z】
    [^abc]   匹配不包括^后的任意字符的内容;中括号里的^为取反,注意和以...开头区别。
    a\{n,m\}   重复n到m次,前一个重复的字符。如果有用egrep/sed -r 可以去掉斜线。
    \{n,\}   重复至少n次,前一个重复的字符。如果有用egrep/sed -r 可以去掉斜线。
    \{n\}   重复n次,前一个重复的字符。如果有用egrep/sed -r 可以去掉斜线。
    ①^word   搜索以word开头的;vi ^ 一行的开够
    ②word$   搜索以word结尾的;vi $ 一行的开头
    ③^$   表示空行。
    扩展的正则表达式:ERP(egrep或grep -E)

    +   重复一个或一个以上前面的字符
    ? 复0个或一个0前面的字符
    |   用或的方式查找多个符合的字符串
    ()  找出“用户组”字符串

    实战举例:

    ^m 搜索以m开头的

     

    p$搜索以p结尾的

     

    ^$表示空号

     

    去掉空行:grep –v “^$” bqh.log

    查看去掉的后的空行内容:grep -vn “^$” bqh.log 

     

    .   代表且只能代表任意一个字符(不包括空行)


    查找带0的字符:


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


    查找以.结尾的字符:

    错误方法:grep ".$" bqh.log

    正确方法:

    grep “\.$” bqh.log 


    注意:\. 就只代表点本身,转义符号,让有着特殊身份移动的字符,脱掉马甲,还原原型\$

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

    grep –o “1*” bqh.log  //-o精确匹配

    ^.*      以任意多个字符开头。

    .*$      以任意多个字符结尾。


    [abc]    匹配字符集合内的任意一个字符【a-zA-Z】

    匹配字符集合内的a-z任意一个小写字符:

    [^abc] 匹配不包括^后的任意字符的内容;中括号里的^为取反,注意和以...开头区别


    匹配非数字的任意字符:

    a\{n,m\}  重复n到m次,前一个重复的字符。如果有用egrep/sed -r /grep -E可以去掉斜线。


    \{n,\}    重复至少n次,前一个重复的字符。如果有用egrep/sed -r 可以去掉斜线。


    \{n\}    重复n次,前一个重复的字符。如果有用egrep/sed -r 可以去掉斜线。


    注意:egrep,grep -E或sed -r过滤一般特殊字符可以不转义。多使用参数。

     ---------------------------------------------------------------------------------

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

    +   重复一个或一个以上前面的字符

    ?  复0个或一个0前面的字符

    |   用或的方式查找多个符合的字符串

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

    总结

    以上所述是小编给大家介绍的详解linux正则表达式(基础正则表达式+扩展正则表达式),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    相关文章

    • 正则表达式详述 三

      正则表达式详述 三

      正则表达式详述 三...
      2007-04-04
    • 13道关于JavaScript正则表达式的面试题

      13道关于JavaScript正则表达式的面试题

      本文是小编给大家收藏整理的13道关于JavaScript正则表达式的面试题,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
      2018-10-10
    • 常用正则表达式 比较实用

      常用正则表达式 比较实用

      正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。
      2009-03-03
    • PHP正则表达式完全教程之提高篇

      PHP正则表达式完全教程之提高篇

      正则表达式,大家在开发中应该是经常用到,现在很多开发语言都有正则表达式的应用,比如javascript,java,.net,php等等,我今天就把我对正则表达式的理解跟大家唠唠,不当之处,请多多指教!
      2015-09-09
    • UBB 转换函数演示 (经典论坛)

      UBB 转换函数演示 (经典论坛)

      [绿色]UBB 转换函数演示 (经典论坛)...
      2006-08-08
    • 详解正则表达式 \v 元字符

      详解正则表达式 \v 元字符

      正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。\v元字符可以匹配垂直制表符。下面给大家介绍正则表达式 \v 元字符,感兴趣的朋友一起看看吧
      2018-01-01
    • javascript常用正则表达式合集

      javascript常用正则表达式合集

      常用的正则验证代码,非常的全面,但因为是针对以前的版本,例如手机等,学习正则与使用正则验证表单的朋友绝对值得参考。
      2010-08-08
    • PBlog2 公用JS代码

      PBlog2 公用JS代码

      PBlog2 公用JS代码...
      2006-08-08
    • python3爬虫之入门基础和正则表达式

      python3爬虫之入门基础和正则表达式

      这篇文章主要介绍了python3爬虫之入门基础和正则表达式的相关资料,需要的朋友可以参考下
      2015-10-10
    • 详解js正则表达式语法介绍

      详解js正则表达式语法介绍

      本篇文章主要介绍了js正则表达式语法,详细的介绍了js正则表达式的各种用法、规则等,有兴趣的同学可以了解一下。
      2016-11-11

    最新评论

  • 推动长江经济带发展 习近平要求境界和担当 2019-11-11
  • 丰台东铁匠营街道:品粽赏乐感受改革开放四十周年 2019-11-11
  • 学习宣传宪法 弘扬法治精神 2019-11-07
  • 山东搭建“灯塔—党建在线”网络平台 2019-11-07
  • 2016杨宗纬VOCAL巡演北京站正式开票杨宗纬VOCAL 2019-11-04
  • 年龄大了,也想积点口德,已经给你笔下留情了。 2019-11-04
  • 人民网通行证——帮助 2019-11-03
  • 端午节,跟随习近平找寻中华民族“精气神” 2019-10-30
  • 天津加入抢人大战,你会否挑花眼? 2019-10-29
  • “海河英才”行动计划为企业解渴 2019-10-29
  • 在庆祝海南建省办经济特区30周年大会上的讲话 2019-10-07
  • 俄罗斯世界杯F组:球迷风采 2019-09-24
  • 彭于晏廖凡曝姜文“精神洁癖” 2019-09-24
  • 苏州大学研究生支教团网上众筹资助留守儿童 2019-09-23
  • 湖北政务微信排行榜第187期出炉 交警类公号表现亮眼 2019-09-19
  • 重庆时时彩后一稳赚 双面盘的大平台有吗 广东十一选五下期推荐 骰子赌大小规则图解 黑龙江11选5遗漏正好网 百人棋牌破解版 3d组选3组选6是什么意思 过去无本代理赚钱好商机 神赞计划软件下载 北京快3大小走势图表