python用正则表达式判断字符串_使用Python验证常见的50个正则表达式

什么是正则表达式?

正则表达式(Regular Expression)通常被用来检索、替换那些符合某个模式(规则)的文本。

此处的Regular即是规则、规律的意思,Regular Expression即“描述某种规则的表达式”之意。

本文收集了一些常见的正则表达式用法,方便大家查询取用,并在最后附了详细的正则表达式语法手册。

案例包括:邮箱、身份证号、手机号码、固定电话、域名、IP地址、日期、邮编、密码、中文字符、数字、字符串

Python如何支持正则?

我用的是python来实现正则,并使用Jupyter Notebook编写代码。

Python通过re模块支持正则表达式,re 模块使 Python 语言拥有全部的正则表达式功能。

这里要注意两个函数的使用:

re.compile用于编译正则表达式,生成一个正则表达式( Pattern )对象;

.findall用于在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。

# 导入re模块

import re

1.邮箱

包含大小写字母,下划线,阿拉伯数字,点号,中划线

表达式:

[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 = '我的私人邮箱是[email protected],公司邮箱是[email protected],麻烦登记一下?'

result = pattern.findall(strs)

print(result)

['[email protected]', '[email protected]']

2. 身份证号

xxxxxx yyyy MM dd 375 0 十八位地区: [1-9]\d{5}

年的前两位: (18|19|([23]\d)) 1800-2399

年的后两位: \d{2}

月份: ((0[1-9])|(10|11|12))

天数: (([0-2][1-9])|10|20|30|31) 闰年不能禁止29+

三位顺序码: \d{3}

两位顺序码: \d{2}

校验码: [0-9Xx]

你可能感兴趣的:(python用正则表达式判断字符串_使用Python验证常见的50个正则表达式)