正则表达式基础

入门
一、行起始和结束『^』『$』

# ^ 和 $
^cat #匹配c作为一行的第一个字符,紧接着第二个a,第三个t
cat$ #匹配t作为一行的最后一个字符,紧接着第二个a,第三个c
二、字符组『[]』『[^]』

#匹配若干字符之一
r = "apple "
re = re.match('ap[ap]le',r)#匹配apple和apale
print(re.group())
>>>apple

#排除型字符组
[^1-6]#排除1到6以外的任意字符:[]内,^排除;[]外,^开头
#理解为匹配出一个未列出的字符,而不是不要匹配出的字符
三、用点号匹配任意字符『.』

例如我们需要搜索一个“04/11/98”、“04-11-98”、“04.11.98”
可以用到

#不机智的方法
04[-./]11[-./]98
#机智的方法
04.11.98
注意:

在字符组外和内,元字符的定义和意义是不一样的比如那个点号,其中[-./]中的-也不算元字符,因为正确用法不是在 [ 或 [^ 之后而是[.-/]所以不被当做元字符

四、多选结构『|』

字符 | 意思是or
比如apple和apale要查找这两个字符

apple|apale   #查找apple or apale

#可以用括号来划定多结构的范围
ap(a|p)le     #查找ap(p or a)le

^(From|Date|Sub):     #匹配^From:和^Date:和^Sub:
^From|Date|Sub:       #匹配^From和Date和Sub:
注意:

一个字符组只能匹配目标文本中单个字符,而每个多选结构自身可能就是完整的正则表达式,都可以匹配任意长度的文本

五、忽略大小写

在egrep中使用-i即可
例子:

egrep -i '^(From|Date|Sub):' filename 
六、单词分界符『<』『>』

匹配英语单词
<和>不是元字符,通过转移才有特殊的含义
<单词起始位置
>单词结束位置

未验证成功

七、量词- 可选项元素『?』

?前的容许出现改字符,但是不是必选项

a = apple
b = aple
#要想让两个字符都可以匹配就可以这样写
app?le#匹配『a』『p』『p?』『l』『e』其中『p?』表示这个字符不是匹配成功的必要条件
八、量词-重复出现『+』『*』

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大富大贵7

很高兴能够帮助到你 感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值