zoukankan      html  css  js  c++  java
  • shell脚本学习—正则表达式

    • 正则表达式概念、特点
    正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,
    这个“规则字符串”用来表达对字符串的一种过滤辑。
    给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
         1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);
         2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。
    正则表达式的特点是:
        1. 灵活性、逻辑性和功能性非常的强;
        2. 可以迅速地用极简单的方式达到字符串的复杂控制。
        3. 对于刚接触的人来说,比较晦涩难懂。
       由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,
       都可以使用正则表 达式来处理文本内容。
     
    • 正则表达式组成部分
     1.字符类(Character Class):如上例的x和y,它们在模式中表⽰一个字符,但是取值范围是一类字符中的任意一个。
     2.数量限定符(Quantifier): 邮件地址的每一部分可以有一个或多个x字符,IP地址的每一部分可以有1-3个y字符
     3.位置限定符(Anchor):描述各种字符类以及普通字符之间的位置关系,例如邮件地址分三部分,用普通字符@和.隔 开,IP地址分四部分,
        用.隔开,每一部分都可以用字符类和数量限定符描述。
     
        以grep的正则表达式为例
      
                                         [字符类]
        
          示例:
        
     
     
     
                                           [数量限定符]
           

         示例:

         

          再次注意grep找的是包含某一模式的行,而不是完全匹配某一模式的行。

      
                                         [位置限定符]
         
           示例:
         
     
     
     
                                               [特殊字符]
            
              示例:
          
     
     
         注意正则表达式参数⽤单引号括起来了,因为正则表达式中⽤到的很多特殊字符在Shell中也有特殊含义(例如),
        只有⽤单引号括起来才能保证这些字符原封不动地传给grep命令,而不会被Shell解释掉。
      
     
                
  • 相关阅读:
    [leetcode]Largest Number
    [leetcode]Second Highest Salary
    [leetcode]Combine Two Tables
    [leetode]Binary Search Tree Iterator
    [leetcode]Excel Sheet Column Number
    [leetcode]Two Sum III
    [leetcode]Majority Element
    Mysql5.7.26解压版(免安装版)简单快速配置步骤,5分钟搞定(win10-64位系统)
    APP移动端自动化测试工具选型“兵器谱”一览(主流开源工具)
    Jmeter+jenkins如何快速搭建接口和性能测试持续集成解决方案-[基于windows篇]
  • 原文地址:https://www.cnblogs.com/-zyj/p/5760484.html
Copyright © 2011-2022 走看看