正则表达式概念
正则表达式,又称规则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。
此处的Regular即是规则、规律的意思,Regular Expression即“描述某种规则的表达式”之意。
正则表达式的作用通常被用来检索、替换那些符合某个模式(规则)的文本。
Python中的正则
- Python 自1.5版本起增加了re 模块 ,它提供 Perl 风格的正则表达式模式。
2.re 模块使 Python 语言拥有全部的正则表达式功能。 - compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。
- re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。
import re #导入re模块
正则表达式案例
邮箱
格式: 包含大小写字母,下划线,阿拉伯数字,点号,中划线。
表达式:[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(?:.[a-zA-Z0-9_-]+)
pattern = re.compile(r"[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)")
strs = '我的邮箱是Liuxm@outlook.com,QQ邮箱是123456@qq.com'
result = pattern.findall(strs)
print(result)#打印邮箱
身份证号
格式: xxxxxxyyyyMMdd3750 (18位数字)
- 地区:[1-9] \d{5}
- 年的前两位:(18|19|([23]\d))
- 年的后两位:\d{2}
- 月份:((0[1-9])|(10|11|12))
- 天数:(([0-2][1-9])|10|20|