详解Linux--shell脚本之正则表达式

 更新时间:2017年01月14日 15:29:02   作者:Sophie_h  
本篇文章主要介绍了Linux--shell脚本之正则表达式,具有一定的参考价值,有兴趣的可以了解一下。

一、正则表达式的概念及特点:

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。规定一些特殊语法表示字符类、数量限定符和位置关系,然后用这些特殊语法和普通字符一起表示一个模式,这就是正则表达式(Regular Expression)。

给定一个正则表达式和另一个字符串,我们可以达到如下的目的:  

1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);

 2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。

正则表达式的特点:

1. 灵活性、逻辑性和功能性非常的强;

2. 可以迅速地用极简单的方式达到字符串的复杂控制。

3. 对于刚接触的人来说,比较晦涩难懂。

由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。

二、正则表达式有三部分组成:

例如找出多有符合xxxxx@xxxx.xxx模式的字符串(也就是mail地址),要求x可以是字母、数字、下划线、小数点、短划线,email地址的每一部分可以有一个或多个x字符,例如abc@ed.com、1_2@789-6.54等,当然,符合这个模式的并不一定是合法的mail地址,但至少可以做一次初步的筛选,筛选掉类似于a.b、c@d等不符合的字符串。再比如说,找出所有符合yyy.yyy.yyy.yyy模式的字符串(IP地址),要求y是0~9的数字,IP地址的每一部分可以有1~3个y字符。

1、字符类

字符类(Character Class):上例中的x和y,他们在模式中表示一个字符,但是取值范围是一类字符中的任意一个。

eg:

 

2、数量限定符

数量限定符(Quantifier): 邮件地址的每一部分可以有一个或多个x字符,IP地址的每一部 分可以有1-3个y字符 

eg:

3、位置限定符

位置限定符(Anchor):描述各种字符类以及普通字符之间的位置关系,例如邮件地址分三部分,用普通字符@和.隔 开,IP地址分四部分,用.隔开,每一部分都可以用字符类和数量限定符 描述。为了表示位置关系,需要位置限定符的概念,将在下面介绍。

eg:

4、特殊字符

eg: 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Linux shell实现压缩多个文件代码实例

    Linux shell实现压缩多个文件代码实例

    这篇文章主要介绍了Linux shell实现压缩多个文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Linux 中 RPM包 安装 查询 卸载命令小结及yum命令详解

    Linux 中 RPM包 安装 查询 卸载命令小结及yum命令详解

    RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下软件包的软件。Linux 安装时,除了几个核心模块以外,其余几乎所有的模块均通过RPM 完成安装。RPM 有五种操作模式,分别为:安装、卸载、升级、查询和验证
    2015-11-11
  • iredmail下安装脚本分析(一)---get_all.sh 文件所在目录为PKGS

    iredmail下安装脚本分析(一)---get_all.sh 文件所在目录为PKGS

    这篇文章主要介绍了iredmail下安装脚本分析(一)---get_all.sh 文件所在目录为PKGS的相关资料,需要的朋友可以参考下
    2015-10-10
  • shell实现学生成绩管理系统

    shell实现学生成绩管理系统

    这篇文章主要为大家详细介绍了shell实现学生成绩管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Shell函数的7种用法介绍

    Shell函数的7种用法介绍

    这篇文章主要介绍了Shell函数的7种用法介绍,本文讲解了在shell文件内部定义函数并引用、返回值、函数输出、向函数传递参数、全局变量与局部变量等内容,需要的朋友可以参考下
    2014-11-11
  • bash脚本截取字符串的两种方法

    bash脚本截取字符串的两种方法

    本文主要介绍了bash脚本截取字符串的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Shell脚本实现从文件夹中递归复制文件

    Shell脚本实现从文件夹中递归复制文件

    这篇文章主要介绍了Shell脚本实现从文件夹中递归复制文件,本文脚本实现从十层左右的文件夹中复制所有文件到一目录中,需要的朋友可以参考下
    2015-02-02
  • shell字符截取命令之cut命令的实例详解

    shell字符截取命令之cut命令的实例详解

    这篇文章主要介绍了shell字符截取命令之cut命令的实例详解的相关资料,希望通过本文大家能够掌握这部分内容,需要的朋友可以参考下
    2017-09-09
  • SHELL脚本read命令的具体用法

    SHELL脚本read命令的具体用法

    这篇文章主要介绍了SHELL脚本read命令的具体用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Shell时间运算及时间差计算方法

    Shell时间运算及时间差计算方法

    这篇文章主要介绍了Shell时间运算及时间差计算方法,本文讲解了时间时间加减运算以及时间差计算方法,需要的朋友可以参考下
    2015-07-07

最新评论