千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

首页 视频教程 培训课程 师资团队 技术干货 常见问题 面试题 职场就业 零基础学Python 行业资讯
【热点话题】 Python技术干货 Python学习教程 Python学习笔记 Python面试题 Python培训问答 Python培训机构哪些好 Python职场就业
当前位置:Python培训  >  Python技术干货  >  Python正则表达式练习

Python正则表达式练习

来源:千锋教育
发布人:wjy
时间: 2022-10-11 15:02:00 1665471720

  1、验证手机号码:手机号码的规则是以1开头,第二位可以是34587,后面那9位就可以随意了。

  示例代码如下:

  text = "18570631587"

  ret = re.match('1[34587]\d{9}',text)

  print(ret.group())

  >> 18570631587

  而如果是个不满足条件的手机号码。那么就匹配不到了。示例代码如下:

  text = "1857063158"

  ret = re.match('1[34587]\d{9}',text)

  print(ret.group())

  >> AttributeError: 'NoneType' object has no attribute

  2、验证邮箱:邮箱的规则是邮箱名称是用数字、数字、下划线组成的,然后是@符号,后面就是域名了。示例代码如下:

  text = hynever@163.com

  ret = re.match('\w+@\w+\.[a-zA-Z\.]+',text)

  print(ret.group())

  3、验证URL:URL的规则是前面是http或者https或者是ftp然后再加上一个冒号,再加上一个斜杠,再后面就是可以出现任意非空白字符了。示例代码如下:

  text = http://www.baidu.com/

  ret = re.match('(http|https|ftp)://[^\s]+',text)

  print(ret.group())

  4、 验证身份证:身份证的规则是,总共有18位,前面17位都是数字,后面一位可以是数字,也可以是小写的x,也可以是大写的X。示例代码如下:

  text = "3113111890812323X"

  ret = re.match('\d{17}[\dxX]',text)

  print(ret.group())

  5、 ^(脱字号):表示以...开始:

  text = "hello"

  ret = re.match('^h',text)

  print(ret.group())

  如果是在中括号中,那么代表的是取反操作.

Python正则表达式练习

  6、 $:表示以...结束:

  # 匹配163.com的邮箱

  text = xxx@163.com

  ret = re.search('\w+@163\.com$',text)

  print(ret.group())

  >> xxx@163.com

  7、|:匹配多个表达式或者字符串:

  text = "hello|world"

  ret = re.search('hello',text)

  print(ret.group())

  >> hello

  8、 贪婪模式和非贪婪模式:

  贪婪模式:正则表达式会匹配尽量多的字符。默认是贪婪模式。

  非贪婪模式:正则表达式会尽量少的匹配字符。

  示例代码如下:

  text = "0123456"

  ret = re.match('\d+',text)

  print(ret.group())# 因为默认采用贪婪模式,所以会输出0123456

  >> 0123456

  可以改成非贪婪模式,那么就只会匹配到0。示例代码如下:

  text = "0123456"

  ret = re.match('\d+?',text)

  print(ret.group())

  注:本文部分文字和图片来源于网络,如有侵权,请联系删除。版权归原作者所有!

 

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

最新文章NEW

相关推荐HOT

更多>>