Python中的正则表达式——re模块,实战案例解析与技巧分享

一、正则表达式

1、正则表达式:

        使用不同模式表示各种字符。

2、正则表达式的语法:

        可以使用不同的元字符和特殊序列来构建模式,以匹配、搜索和替换字符串中的文本。

3、作用:

        用于匹配、搜索、替换字符串模式。

4、优势:

        执行效率特别高。

5、缺点

        可读性不强。

二、各种模式、元字符

①、r : 表示不用转义。

②、. : 表示任意字符。

③、\d : 匹配数字。

④、\D : 匹配非数字。

⑤、\s :匹配空白字符(空格、转义字符、换行字符)。

⑥、\S:匹配非空白字符。

⑦、\w:匹配数字、字母、下划线。

⑧、\W:匹配非数字、字母、下划线。

⑨、re.I: 忽略大小写。

⑩、re.M :忽略空白符。

⑪、\b :匹配空白符。匹配单词边界,即匹配单词的开头或结尾位置。例如,正则表达式 r'\bhello\b' 可以匹配单词 "hello"。

⑫、\B :匹配非空白符。

⑬、^ :匹配单词开头。

⑭、$:匹配单词结尾。

⑮、[abcdefg]:只能取其中一个。

⑯、[^abcdefg]:不能取其中的内容。

⑰、():分组。

⑱、[ | ]:或。

⑲、\1\2:取第几个分组中的内容,要和分组中的元素保持一致。

重复

①、* :出现0次以上。

②、+ :出现一次以上。

③、?:有一个或0个。

④、.* :默认贪婪模式,即尽可能多。

⑤、.*? :非贪婪模式,即尽可能少。

⑥、{n} :匹配n个。

⑦、{m, n} : 匹配m-n个。

⑧、.*?\b :匹配单词边界。

⑨、^……$ : 匹配边界。

三、re模块的常用方法

①、match : 从头开始匹配,匹配成功返回匹配的字符串,匹配失败返回None。

注意match对象使用group查看。

r = re.match(r".\w{8}", "#Hello_word", re.I)
print(type(r), r)
if r:
    print(r.group())
# <class 're.Match'> <re.Match object; span=(0, 9), match='#Hello_wo'>
# #Hello_wo

②、findmatch : 从头匹配到结尾,返回的是match或空,匹配整个字符串。  

r = re.fullmatch(r"\d
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值