Python正则表达式精确匹配手机号,邮箱,IP,身份证…..(爬虫利器)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Python正则表达式精确匹配手机号,邮箱,IP,身份证…..(爬
虫利器)
Python正则表达式大全
1.检验手机号
要求:手机号码必须为11位数字,以1开头,第二位为1或5或8。

import re
def verify_mobile():
mob = input('请输入手机号码:')
ret = re.match(r'1[358]d{9}', mob)
if ret:
print('手机号码匹配正确')
else:
print('匹配错误')
verify_mobile()
2.检验邮箱
import re
def verify_email():
email = input('请输入邮箱:')
ret = re.match(r'^[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+){0,4}@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+){0,4}$', email)
if ret:
print('邮箱匹配正确')
else:
print('匹配错误')
verify_email()
3.验证身份证
import re
def verify_card():
card = input('请输入身份证:')
ret = re.match(r'^([1-9]d{5}[12]d{3}(0[1-9]|1[0-2])(0[1-9]|1[0-9]|2[0-9]|3[0-1])d{3}(d|X|x))$', card)
if ret:
print('身份证匹配正确')
else:
print('匹配错误')
verify_card()
4.检验年月日
import re
def verify_date():
date = input('请输入年月日:')
ret = re.match(r'^(d{4}-d{1,2}-d{1,2})$', date)
if ret:
print('日期匹配正确')
else:
print('匹配错误')
verify_date()
5.验证数字表达式
匹配数字:^[0-9]*$
匹配n位的数字:^d{n}$
匹配零和非零开头的数字:^(0|[1-9][0-9]*)$
匹配正数、负数、和小数:^(-|+)?d+(.d+)?$
匹配非零的正整数:^[1-9]d*$ 或^([1-9][0-9]*){1,3}$ 或^+?[1-9][0-9]*$
匹配非零的负整数:^-[1-9][]0-9″*$ 或 ^-[1-9]d*$
匹配非负整数:^d+$ 或 ^[1-9]d*|0$
匹配非正整数:^-[1-9]d*|0$ 或 ^((-d+)|(0+))$
匹配浮点数:^(-?d+)(.d+)?$ 或^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$
匹配正浮点数:^[1-9]d*.d*|0.d*[1-9]d*$
匹配负浮点数:^-([1-9]d*.d*|0.d*[1-9]d*)$
匹配非正浮点数:^((-d+(.d+)?)|(0+(.0+)?))$
匹配非负浮点数:^d+(.d+)?$ 或^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$
6.验证字符表达式
匹配汉字:^[一-龥]{0,}$
匹配英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
匹配大写英文字母组成的字符串:^[A-Z]+$
匹配小写英文字母组成的字符串:^[a-z]+$
匹配大小写英文组成的字符串:^[A-Za-z]+$
匹配中文、英文、数字包括下划线:^[一-龥A-Za-z0-9_]+$
禁止输入含有~的字符:[^~x22]+x。

相关文档
最新文档