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

1、正则表达式的概念及特色:

  正则表达式是对字符串操做的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,
这个“规则字符串”用来表达对字符串的一种过滤逻辑。规定一些特殊语法表示字符类、数量限定符和位置关系,而后用这些特殊语法和普
通字符一块儿表示一个模式,这就是正则表达式(Regular Expression)。
给定一个正则表达式和另外一个字符串,咱们能够达到以下的目的:
  1. 给定的字符串是否符合正则表达式的过滤逻辑(称做“匹配”);
  2. 能够经过正则表达式,从字符串中获取咱们想要的特定部分。

正则表达式的特色:

  1. 灵活性、逻辑性和功能性很是的强;
  2. 能够迅速地用极简单的方式达到字符串的复杂控制。
  3. 对于刚接触的人来讲,比较晦涩难懂。
  因为正则表达式主要应用对象是文本,所以它在各类文本编辑器场合都有应用,小到著名编辑器EditPlus,大到
Microsoft Word、Visual Studio等大型编辑器,均可以使用正则表达式来处理文本内容。

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

  例如找出多有符合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地spa

址),要求y是0~9的数字,IP地址的每一部分能够有1~3个y字符。3d

一、字符类

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

eg:blog

二、数量限定符

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

eg:it

三、位置限定符

位置限定符(Anchor):描述各类字符类以及普通字符之间的位置关系,例如邮件地址分三部分,用普通字符@和.隔 开,IP地址分四部分,用.隔开,每一部分均可以用io

字符类和数量限定符 描述。为了表示位置关系,须要位置限定符的概念,将在下面介绍。class

 

eg:

 

四、特殊字符

eg:

相关文章
相关标签/搜索