正则表达式

正则表达式:是用于描述一组字符串特征的模式,用来匹配特定的字符串,通过特殊字符+普通字符来进行模式描述,从而达到文本匹配目的的工具。
分类
基准正则表达式:grep
扩展的正则表达式:egrep -E
Perl的正则表达式:-P
grep:全局寻找基本正则表达式匹配到的内容所在行,并打印出来。grep匹配是贪心匹配。
egrep:全局寻找扩展正则表达式匹配到的内容所在行,并打印出来。
正则表达式的基本三要素:字符类,数量限定符,位置限定符
(1)字符类(举例):
.:匹配任意一个字符
这里写图片描述
因为grep是贪心匹配,所有都匹配

[]:匹配括号中任意一个字符
-:在括号内表示字符范围
这里写图片描述
有两个[],所以匹配两个字符,第一个是a-z,第二个是1-3,因此匹配b1,d3

^:位于括号内的开头,匹配除括号中的字符外任意一个字符
这里写图片描述
匹配除a-z之外的字符

(2)数量限定符(举例):
?:紧跟在它前面的单元应匹配0次或1次
这里写图片描述
因为贪心匹配

+:紧跟在它前面的单元应匹配1次或多次
*:紧跟在它前面的单元应匹配0次或多次
{N}:紧跟在它前面的单元精确匹配N次
{N,}紧跟在它前面的单元至少匹配N次
这里写图片描述
(3)位置限定符(举例):
^:匹配行首位置
这里写图片描述
匹配以字母开头的行

$:匹配行尾位置
这里写图片描述
匹配以数字结尾的行

\<:匹配单词开头位置
\>:匹配单词结尾位置
这里写图片描述
\b:匹配单词开头或结尾
这里写图片描述
这个单词既是开头也是结尾,说明只有这个单词
特殊符号
():将包含的内容作为一个整体,用数量限定符来限定
这里写图片描述
abc作为一个整体出现3次
\:转义字符,普通字符转为特殊字符,特殊字符转为普通字符
这里写图片描述
此时不加-E选项表示用基准正则匹配,此时就应该使用转义字符
| 、连接多个正则表达式进行多次筛选
这里写图片描述
例题:找出手机号码
分析:手机号码有13、15、17、18开头,共11位
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值