python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python的正则表达式和re模块

python的正则表达式和re模块详解

作者:付石头_stone

这篇文章主要为大家详细介绍了python的正则表达式和re模块,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

一、正则表达式基础

在这里插入图片描述

二、python re模块

注意:正则表达式 != re

在这里插入图片描述

eg:

在这里插入图片描述

注意:如果返回的是对象,则需要使用group分组。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

三、进阶

1、分组,使用()即可

028-888888

tel_num = "028-888888"
pattern_obj = re.compile("(\d{3})-(\d{6})")
res = re.match(pattern=pattern_obj, string=tel_num)
print("output: %s %s" % (res.group(1), res.group(2)))

output: 028 888888

2、使用分组时,还可以使用“或者”条件

muilt_types = """image.jpg
    image.jpeg
    image.png
    image.gif"""
pattern_obj = re.compile("(.jpg|.gif|.jpeg|.png)")
types = re.findall(pattern=pattern_obj, string=muilt_types)
print("output: {}".format(types ))

output: ['.jpg', '.jpeg', '.png', '.gif']

3、非捕获分组,(?:表达式) 从而捕获数据,还能进行分组功能

muilt_nums = """028-75855
01-75855
12345-75855
tel:75855"""
pattern_obj = re.compile("(?:\d{2}|\d{5}|tel)[\-:](\d{5})")
nums = re.findall(pattern=pattern_obj, string=muilt_nums)
print("output: {}".format(nums))

output: ['75855', '75855', '75855', '75855']

4、使用分组提取年月日

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!     

您可能感兴趣的文章:
阅读全文