【Linux】正则表达式初识

来源:互联网 发布:淘宝卖水弹枪不违法吗 编辑:程序博客网 时间:2024/05/16 23:43

正则表达式是什么?
在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。简单来说,正则表达式就是以一种描述规则来进行字符串匹配的代码。
规定一些特殊语法表示字符类、数量限定符和位置关系,然后用这些特殊语法和普通字符一起表示一个模式,这就是正则表达式。那么这些字符类、数量限定符、位置关系又是些什么呢?下面我们一起来看一下吧!
字符类:可以表示一个字符,但是取值范围是一类字符中的任意一个
这里写图片描述
数量限定符:限定要匹配的字符出现的次数
这里写图片描述
位置限定符:限定要匹配的字符出现的位置
这里写图片描述
特殊描述符:
这里写图片描述
正则表达式有两种模式,分别是基准(Basic)模式和扩展(Extended)模式。
基准模式下所有字符都取普通含义(grep默认以基准模式)
扩展模式下都取特殊含义(egrep默认以扩展模式)

看完了这些是不是对正则表达式有了一个初步的认识呢?我们再来看个例子加深一下印象吧!
例1:匹配文件中的电话号码:

grep -E '1[^246790][0-9]{9}' file

这里grep加 -E选项就是使用扩展模式,以后的博客还会详细讲解
这里写图片描述
例2:匹配邮箱:

grep -E '.+@.+\.com$' file

这里写图片描述

0 0