Python学习第二阶段正则表达式的简单理解及运用

正则表达式


动机 :

  • 1.处理文本已经成为计算机主要工作内容
  • 2.根据文本的内容进行固定的筛选匹配是文本处理中常用的工作之一
  • 3.为了快速方便的解决上述问题,正则表达式应运而生,并且主键发展为一个单独的技术。可以被众多编程语言使用。

定义 :

  • 即高级的文本模式匹配,提供了搜索和替代等功能。本质是 由一些字符和特殊符号组成的字符串。这个字符串描述了这些字符和字符的某种重复方式,按照这种方式可以匹配一个有相似特征的符合规则的字符集合。

目标 :

  • 1.理解什么是正则表达式及正则表达式的用途
  • 2.能够掌握正则表达式的规则和用法
  • 3.能够使用python re模块进行基于正则表达式的文本操作

特点和用途:

  • 使用编程进行文本的检索和修改
  • 正则表达式支持语言众多,方便使用
  • 正则表达式可以匹配一系列字符串而不是某一个,匹配更多样化
  • 在mongo中可以存储正则表达式,也可以使用正则表达式做查找操作
  • 大量使用在爬虫中用来处理html文本匹配
  • django,tornado 的路由匹配

这里列举几个用正则表达式匹配具体内容的小例子

  • 判断输入用户名是否合法
  • 判断输入邮箱是否合法
  • 判断输入手机号码是否合法
  • 判断输入车牌号(包括燃油车与新能源车)是否合法
  • 判断输入身份证号码是否合法
import  re
msg=input("请输入:")



#用户名匹配
if re.match(r"^[a-zA-Z0-9_-]{4,16}$",msg):
    print("合法")
else:
    print("不合法")




#邮箱匹配
if re.match(r'^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$',msg):
    print("合法")
else:
    print("不合法")





#手机号匹配(目前只匹配以13/15/16/17/18开头的手机号,根据实际情况自己再加)
if re.match(r'^(13[0-9])|(15[0-9])|(16[0-9])|(17[0-9])|(18[0-9])\d{8}$',msg):
    print("合法")
else:
    print("不合法")





#车牌号匹配
#燃油车和新能源车牌均能匹配
if re.match(r'^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[D,F]*|[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$',msg):
    print("合法")
else:
    print("不合法")






#身份证号匹配
if re.match(r'^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$',msg):
    print("合法")
else:
    print("不合法")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值