Python学习16 正则表达式3 练习题

用户名匹配

1.用户名匹配:由数字、大小写字母、下划线_、中横线-组成,长度为6-12位,不能以数字开头。

import re
username='ab578_-SDF'
result=re.search('^[a-zA-Z_-][0-9a-zA-Z_-]{5,12}$',username)
print(result)

邮箱

2.验证输入的邮箱:163、126、qq

email1='t_hedq@163.com'
email3='3056166240@qq.com'
email2='13456@126.com'
r=re.compile(r'^[1-9a-zA-Z]\w{1,}@(163|126|qq)(\.com)$')
result1=r.search(email1)
result2=r.search(email2)
result3=r.search(email3)
print(result1)
print(result2)
print(result3)

手机号码

  1. 验证不是以4、7结尾的11位手机号码
phone='18941112897'
result=re.search(r'\d{10}[^47]$',phone)
print(result)

数字

4.匹配0-100之间的数字,(包含0和100)

number='0'
result=re.fullmatch(r'(0|^[1-9]\d{0,2})',number)
print(result)

提取手机号码

 5.分别提取电话号码的区号和号码
phone='086-18942897293'
r=re.search('(\d{3})-(\d{11})',phone)
print(r.group(0))
print(r.group(1))
print(r.group(2))

匹配身份证号

6.匹配身份证号

#第一位1-9
#后面5位数字0-9
#年份:1或2开头,后面三位数字0-9
#月份:0开头接1-9或1开头接012
#日期:0开头接1-9或1、2开头接0-9或3开头接0,1
#3位数字0-9
#最后一位为数字或X或x
number='510681200104090627'
result=re.search(r'^[1-9]\d{5}[12]\d{3}([0][1-9]|[1][012])([0][1-9]|[12][0-9]|[3][01])\d{3}[0-9xX]$',number)
print(result)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/446287.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

加载tf模型 正确率很低_深度学习模型训练全流程!

↑↑↑关注后"星标"Datawhale每日干货 & 每月组队学习,不错过Datawhale干货 作者:黄星源、奉现,Datawhale优秀学习者本文从构建数据验证集、模型训练、模型加载和模型调参四个部分对深度学习中模型训练的全流程进行讲解。一个成…

Python学习17 Turtle库绘图

学习网址:https://docs.python.org/zh-cn/3/library/turtle.html Turtle库 Turtle库是Python语言中一个很流行的绘制图像的函数库,一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点(画布中心),(0,0)位置开…

android ros 节点编写_嵌入式的我们为什么要学ROS

前言本来是要写一篇STM32移植ROS的一个小lib库,ROS一般都是需要跑在Linux上的,STM32使用就是当成一个ROS通讯的小节点,但是写文章时间不够,所以就简单做一篇ROS的介绍文章,分享给嵌入式的小伙伴们。ROS现在在机器人领域…

STL源码剖析 __type_traits

traits编程 弥补了C本身的不足STL只对迭代器进行规范制定出了iterator_traits,SGI在此基础上进一步扩展,产生了__type_traits双下划线的含义是这个是SGI内部使用的东西,不属于STL标准iterator_traits 负责萃取迭代器的特性__type_traits负责萃…

java 学生成绩

题目 对学生成绩大于60分的,输出“合格”。低于60分的,输出“不合格” 代码 使用/除法简化代码 package l1_switch_case;import java.util.Scanner;public class SwitchDemo2 {public static void main(String[] args) {Scanner scanner new Scanne…

STL源码剖析 序列式容器|Vector

容器的概观和分类 array 数组 、list 链表、tree树 、stack堆栈、queue队列、hash table散列表、set集合、map映射表根据数据在容器中的排列顺序,将上述数据结构分为序列式和关联式两种类型SGI STL使用内缩方式来表达基层和衍生层之间的关系衍生不是派生&#xff0…

ansible 修改文件变量_Ansible Playbook中的变量与引用

Ansible是一个系列文章,我会尽量以通俗易懂、诙谐幽默的总结方式给大家呈现这些枯燥的知识点,让学习变的有趣一些。Ansible自动化运维前言前面有说到使用playbook来搞一些复杂的功能,我们使用YAML来写playbook,就像我们用其它语言…

java 判断日期为第几天

题目1 编写程序:从键盘上输入2019年的“month”和“day”,要求通过程序 输出输入的日期为2019年的第几天。 代码1 从12月往下加日期数 package l1_switch_case; import java.util.Scanner; public class SwitchDemo4 {public static void main(Strin…

STL源码剖析 list概述

目录 list的节点(node) list迭代器 list 的构造和内存管理 list 的元素操作 list相较于vector连续的线性空间就显得很复杂,他的存储空间是不连续的,好处是每次插入和删除一个元素的时候,只需要配置或者释放一个元素的空间 插入和删除十分的…

vsftp不允许切换到其它目录_IntelliJ IDEA如何对project的目录进行筛选显示?

如果你的项目很庞大,同一个功能用到的各种文件散落在多个文件夹,开发时切换不便,可以利用scope功能,只显示该功能用到的文件,让project列表十分清爽,提高开发效率。本文使用的IDEA版本为2020.1。1、打开sco…

java 年份对应的中国生肖

题目 编写一个程序,为一个给定的年份找出其对应的中国生肖。 中国的生肖基于12年一个周期, 每年用一个动物代表: rat、ox、tiger、rabbit、dragon、snake、horse、sheep、monkey、 rooster、dog、pig。 提示:2019年:猪…

密码学专题 对称加密算法

一般来说,使用OpenSSL对称加密算法有两种方式,一种是使用API函数的方式,一种是使用OpenSSL提供的对称加密算法指令方式。本书将介绍对称加密算法的指令方式OpenSSL的对称加密算法指令主要用来对数据进行加密和解密处理,输入输出的…

网络防火墙单向和双向_单向晶闸管与双向晶闸管之间的不同之处

晶闸管是回一个可以控导点开关,能以弱电去控制强电的各种电路。晶闸管常用于整流,调压,交直流变化,开关,调光等控制电路中。具有提交小,重量轻,耐压高,容量大,效率高&…

java 遍历100以内的偶数,偶数的和,偶数的个数

题目 遍历100以内的偶数,偶数的和,偶数的个数 代码 package l2_for; /*遍历100以内的偶数,偶数的和,偶数的个数*/ public class ForDemo1 {public static void main(String[] args) {//方法1:int sum1 0,count10;f…

python版本切换_怎么切换python版本

展开全部 (1)分别安2113装 python-2.7.12.amd64.msi python-3.5.2-amd64.exe (python官网下载的) 顺序无所谓(为5261了看着4102方便,我把安装路径修改统一了1653) (2)配置…

java 打印

题目 编写程序从1循环到150,并在每行打印一个值,另外在每个3的倍数行 上打印出“foo”,在每个5的倍数行上打印“biz”,在每个7的倍数行上打印 输出“baz”。 代码 package l2_for;/** 编写程序从1循环到150,并在每行打印一个值&#xff0c…

react.lazy 路由懒加载_Vue面试题: 如何实现路由懒加载?

非懒加载import List from /components/list.vue const router new VueRouter({routes: [{ path: /list, component: List }] })方案一(常用)const List () > import(/components/list.vue) const router new VueRouter({routes: [{ path: /list, component: List }] })方…

STL源码剖析 deque双端队列 概述

vector是单向开口的连续线性空间,deque是一种双向开口的连续线性空间。deque可以在头尾两端分别进行元素的插入和删除操作vector和deque的差异 1,deque允许常数时间内对于头端元素进行插入和删除操作2,deque没有所谓容量(capacity)的概念&…

java 最大公约数和最小公倍数

题目 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 比如:12和20的最大公约数是4,最小公倍数是60。 说明:break关键字的使用 代码一 package l2_for; //题目:输入两个正整数m和n,求…

python的自带数据集_Python的Sklearn库中的数据集

一、Sklearn介绍 scikit-learn是Python语言开发的机器学习库,一般简称为sklearn,目前算是通用机器学习算法库中实现得比较完善的库了。其完善之处不仅在于实现的算法多,还包括大量详尽的文档和示例。其文档写得通俗易懂,完全可以当…