python 正则-常见题目
1、邮箱
print(re.findall(r'[\w-]+@[\w-]+\.[\w-]+', 'weidian@qq.com'))
2、身份证号
xxxxxx yyyy MM dd 375 0 十八位
print(re.findall(r'(?:18|19|(?:[23]\d))\d{2}', '2010')) # 年print(re.findall(r'(?:0[1-9])|10|11|12', '11')) # 月print(re.findall(r'(?:[0-2][1-9])|10|20|30|31', '10')) # 日pattern = re.compile(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]")print(pattern.findall('342623198910235163'))
3、国内手机号码
#手机号都为11位,且以1开头,第二位一般为3、5、6、7、8、9 ,剩下9位任意数字
# 例如:13987692110、15610098778
print(re.findall(r'1(?:3|5|6|7|8|9)\d{9}', '15610098778')) #print(re.findall(r'1[356789]\d{9}', '15610098778')) #
4、国内固定电话
#区号34位,号码78位 例如:0511-1234567、021-87654321
print(re.findall(r'\d{3,4}-?\d{7,8}', '0511-1234567')) #print(re.findall(r'\d{3,4}-?\d{7,8}', '05111234567')) #
5、域名
pattern = re.compile(r"(?:(?:http:\/\/)|(?:https:\/\/))?(?:[\w](?:[\w\-]{0,61}[\w])?\.)+[a-zA-Z]{2,6}(?:\/)")print(pattern.findall("Python官网的网址是https://www.python.org/"))
6、IP地址
# IP地址的长度为32位(共有2^32个IP地址),分为4段,每段8位,用十进制数字表示
# 每段数字范围为0~255,段与段之间用句点隔开
pattern = re.compile(r"(?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d)")print(pattern.findall("675.255.255.255"))print(pattern.findall("2.25.25.255"))print(pattern.findall("0.0.25.255"))
7、日期
常见日期格式:yyyyMMdd、yyyy-MM-dd、yyyy/MM/dd、yyyy.MM.dd
# 2013-10-01
pattern = re.compile(r"(?:(?:1\d{3})|(?:20[0-2][0-4]))[-/\.](?:0[1-9]|10|11|12)[-/\.](?:0[1-9]|1\d|2\d|3[0-1])")print(pattern.findall("出生日期是1999-11-28"))
8、密码
# 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线)
pattern = re.compile("[a-zA-Z]\w{5,17}")print(pattern.findall("密码: nlj20*_cc2042 "))
#强密码(以字母开头,必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间)
pattern = re.compile("^(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z\d]{8,10}")print(pattern.findall("nlj00NLJ"))
9、中文字符
pattern = re.compile(r"[\u4e00-\u9fa5]")print(pattern.findall("apple:苹果"))
10、数字
pattern = re.compile(r"\b[0-9]+\b")print(pattern.findall("1234 899 niu 890 009 nihih _ 9090"))# 验证n位的数字:^\d{n}$pattern = re.compile(r"\b[0-9]{3}\b")print(pattern.findall("1234 899 niu 890 009 nihih _ 9090"))# 验证至少n位数字:^\d{n,}$pattern = re.compile(r"\b\d{3,}\b")print(pattern.findall("1234 899 niu 890 009 nihih _ 9090"))# 验证m-n位的数字:^\d{m,n}$pattern = re.compile(r"\b\d{3,5}\b")print(pattern.findall("1234 899 niu 890 009 nihih _ 909000"))# 验证零和非零开头的数字:^(0|[1-9][0-9]*)$pattern = re.compile(r"\b[1-9]\d*\b") # 非0开头的数字print(pattern.findall("1234 899 niu 890 009 nihih _ 909000"))pattern = re.compile(r"\b0\d*\b") # 非0开头的数字print(pattern.findall("1234 899 niu 890 009 nihih _ 909000"))# 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$pattern = re.compile(r"\b[0-9]+(?:\.\d{2})\b") # 非0开头的数字print(pattern.findall("1234 899 niu 890.01 009 nihih _ 909000"))# 验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$pattern = re.compile(r"\b[0-9]+(?:\.\d{1,3})\b") # 非0开头的数字print(pattern.findall("1234 899 niu 890.01 009 nihih _ 909000"))# 验证非零的正整数:^\+?[1-9][0-9]*$pattern = re.compile(r"\b[1-9][0-9]*\b") # 非0开头的数字print(pattern.findall("1234 899 niu 890.01 009 nihih _ 909000"))# 验证非零的负整数:^\-[1-9][0-9]*$pattern = re.compile(r"-[1-9][0-9]*\b") # 非0开头的数字print(pattern.findall("1234 -899 niu 890.01 009 nihih _ -909000"))
11、字符串
pattern = re.compile(r"[a-zA-Z0-9]+") # 非0开头的数字print(pattern.findall("1234 -899 niu 890.01 009 nihih _ -909000"))# 长度为3-20的所有字符:^.{3,20}$pattern = re.compile(r".{3,20}\b") # 非0开头的数字print(pattern.findall("1234mn"))
12、如何匹配一个字符串中的所有包含两个连续的相同字母的单词?
matches = re.findall(r'\b(\w*(\w)\2\w*)\b', 'hello world book balloon oop')for match in matches:print(match[0])
相关文章:
python 正则-常见题目
1、邮箱 print(re.findall(r[\w-][\w-]\.[\w-], weidianqq.com))2、身份证号 xxxxxx yyyy MM dd 375 0 十八位 print(re.findall(r(?:18|19|(?:[23]\d))\d{2}, 2010)) # 年print(re.findall(r(?:0[1-9])|10|11|12, 11)) # 月print(re.findall(r(?:[0-2][1-9])|10|20|30|3…...
解析:Eureka的工作原理
Eureka是Netflix开源的一个基于REST的的服务发现注册框架,它遵循了REST协议,提供了一套简单的API来完成服务的注册和发现。Eureka能够帮助分布式系统中的服务提供者自动将自身注册到注册中心,同时也能够让服务消费者从注册中心发现服务提供者…...
RecyclerView 与 ListView 区别和使用
前置知识:ListView基本用法与性能提升 RecyclerView 与 ListView 区别 RecyclerView 需要设置布局(LinearLayoutManager、GridLayoutManager、StaggeredGridLayoutManager) recyclerView?.layoutManager LinearLayoutManager(activity) …...
力扣232. 用栈实现队列
题目 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开…...
这个方法可以让你把图片无损放大
随着数字技术的不断发展,照片无损放大已经成为了摄影领域中的一项重要技术。照片无损放大能够让摄影师在不损失细节和画质的情况下,将照片放大到更大的尺寸,从而让观众能够更加清晰地欣赏到照片中的每一个细节。 今天推荐的这款软件主要是通…...
Springboot整合Elastic-job
一 概述 Elastic-Job 最开始只有一个 elastic-job-core 的项目,定位轻量级、无中心化,最核心的服务就是支持弹性扩容和数据分片!从 2.X 版本以后,主要分为 Elastic-Job-Lite 和 Elastic-Job-Cloud 两个子项目。esjbo官网地址 Ela…...
VsCode的介绍和入门
目录 编辑 介绍 我应该切换到 VS Code 吗?为什么? 入门 Explorer 搜索 源代码控制 调试器 扩展 终点站 命令面板 主题 定制化 不错的配置选项 最适合编码的字体 工作空间 编辑 智能感知 代码格式化 错误和警告 键盘快捷键 键位图…...
C++:自创小游戏
欢迎来玩,每次都有不一样的结果。 长达142行。 #include<bits/stdc.h> #include<windows.h> #define random(a,b) (rand()%(b-a1)a) using namespace std; int main(){int n;cout<<"输1~10,越小越好,不告诉你有什么用,当然也可…...
AIGC带给开发者的冲击
未来会有两种开发者,一种是会使用AIGC工具的开发者另一种是不会使用AIGC的开发者,AIGC的出现提高了开发效率和代码质量,对开发者意味着需要不断学习和适应新的技术和工作范式,开发者可以把更多的精力放在高级抽象的定义以及更高维…...
利用蚁剑钓鱼上线CS
前言 中国蚁剑使用Electron构建客户端软件,Electron实现上用的是Node.js,并且Node.js能执行系统命令,故可以利用蚁剑的webshell页面嵌入js来直接执行命令,进而钓鱼来上线CS。(类似Goby,Goby也是使用Electr…...
宣传照(私密)勿转发
精美的海报通常都是由UI进行精心设计的,现在有100 件商品需要进行宣传推广,如果每个商品都出一张图显然是不合理的,且商品信息各异。因此需要通过代码的形式生成海报。对此,我也对我宣传一波,企图实现我一夜暴富的伟大…...
【Spring】19 AOP介绍及实例详解
文章目录 1. 定义1)什么意思呢?2)如何解决呢? 2. 基本概念1)切面(Aspect)2)切点(Pointcut)3)通知(Advice)4)连…...
ES(Elasticsearch)的基本使用
一、常见的NoSQL解决方案 1、redis Redis是一个基于内存的 key-value 结构数据库。Redis是一款采用key-value数据存储格式的内存级NoSQL数据库,重点关注数据存储格式,是key-value格式,也就是键值对的存储形式。与MySQL数据库不同࿰…...
【JVM面试题】Java中的静态方法为什么不能调用非静态方法
昨晚京东大佬勇哥在群里分享了一道他新创的JVM面试题,我听完后觉得还挺有意思的,分享给大家 小佬们先别急着看我的分析,先自己想想答案 你是不是想说 因为静态方法是属于类的,而非静态方法属于实例对象 哈,有人这样回答…...
对‘float16_t’的引用有歧义
float16_t 是一个半精度浮点数类型,通常在一些需要高性能和低精度的场合被使用。 如果加了using namespace cv;后,OpenCV库中也有一个名为float16_t的类型定义,与最初的float16_t存在冲突,导致编译失败。 为了解决这个问题&#…...
Windows重装升级Win11系统后 恢复Mysql数据
背景 因为之前电脑硬盘出现问题,换了盘重装了系统,项目的数据库全部没了,还好之前的Mysql是安装在的D盘里,还有留存文件 解决办法 1.设置环境变量 我的路径是 D:\SoftWare\Application\mysql-5.7.35-winx64 此电脑右键属性 …...
MySQL之四大引擎、账号管理以及建库
目录 数据库存储引擎 简介 存储引擎得查看 support字段说明 InnoDB MyISAM MEMORY Archive 数据库管理 元数据库简介 元数据库分类 相关操作 MySQL库 数据表管理 三大范式 基本数据类型 优化原则 整形 实数 字符串 text&blob 日期类型 选中标识符 数…...
shell编程——查找局域网内存活主机
题目要求:写一个shell脚本,探测局域网内存活主机 首先,我们的思路是在循环中不断ping主机,然后根据ping的结果来判断主机是否存活 本题中ping语句如下: ping -c 3 -i 0.3 -W 1 192.168.1.1 解释一下参数࿱…...
python django 个人记账管理系统
python django 个人记账管理系统。 功能:登录,新用户注册,个人信息修改,收入,支出记录,收入记账管理,支出记账管理,收入,支出统计 技术:python django&…...
C#的Char 结构的方法之IsLetterOrDigit()
目录 一、Char 结构 二、Char.IsLetterOrDigit 方法 1.定义 2.重载 3.示例 4.IsLetterOrDigit(Char) 5.IsLetterOrDigit(String, Int32) 一、Char 结构方法 CompareTo(Char)将此实例与指定的 Char 对象进行比较,并指示此实例在排序顺序中是位于指定的 Char …...
配置Docker私有仓库
# 打开要修改的文件 vi /etc/docker/daemon.json # 添加内容: "insecure-registries":["http://自己服务器的ip地址:设置的端口号"] # 重加载 systemctl daemon-reload # 重启docker systemctl restart docker在自己设定的文件夹内使用DockerCo…...
计算机网络-动态路由
网络层协议:ip,ospf,rip,icmp共同组成网络层体系 ospf用于自治系统内部。 一个路由器或者网关需要能够支持多个不同的路由协议,以适应不同的网络环境。特别是在连接不同自治系统的边缘路由器或边界网关的情况下&#…...
光耀未来 第一届能源电子产业创新大赛太阳能光伏赛道决赛在宜宾举行
1月3日,第一届能源电子产业创新大赛太阳能光伏赛道决赛在宜宾盛大举行,本次比赛吸引了全国范围内的光伏行业顶尖人才和创新团队参与。 为深入贯彻《关于推动能源电子产业发展的指导意见》,推动我国能源电子产业升级,工业和信息化部…...
【小沐学NLP】Python实现TF-IDF算法(nltk、sklearn、jieba)
文章目录 1、简介1.1 TF1.2 IDF1.3 TF-IDF2.1 TF-IDF(sklearn)2.2 TF-IDF(nltk)2.3 TF-IDF(Jieba)2.4 TF-IDF(python) 结语 1、简介 TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF是词频(Term Fr…...
.cer格式证书文件和 .pfx格式证书文件有什么区别?
这里我们将讨论.cer和.pfx文件类型之间的差异。 什么是数字证书? 数字证书在电子通信中用作验证身份的密码机制。我们需要这些证书来建立安全的在线通信渠道,并确保数字数据的隐私、真实性和正确性。 数字证书包括主题(实体详细信息…...
【docker实战】安装tomcat并连接mysql数据库
本节用docker来安装tomcat,并用这个tomcat连接我们上一节安装好的mysql数据库 一、拉取镜像 我们安装8.5.69版本 先搜索一下 [rootlocalhost ~]# docker search tomcat NAME DESCRIPTION …...
LeetCode 每日一题 Day 32 ||递归单调栈
2487. 从链表中移除节点 给你一个链表的头节点 head 。 移除每个右侧有一个更大数值的节点。 返回修改后链表的头节点 head 。 示例 1: 输入:head [5,2,13,3,8] 输出:[13,8] 解释:需要移除的节点是 5 ,2 和 3 。…...
【mars3d】FixedRoute的circle没有跟polyline贴着模型的解决方案
问题:【mars3d】官网的贴模型示例中,参考api文档增加了circle的配置,但是FixedRoute的circle没有跟polyline贴着模型 circle: { radius: 10, materialType: mars3d.MaterialType.CircleWave, materialOptions: { color: "#ffff00"…...
Day7 vitest 之 vitest配置第三版
项目目录 runner Type: VitestRunnerConstructor Default: node, 当运行test的时候 benchmark,当运行bench测试的时候 功能 自定义测试运行程序的路径。 要求 应与自定义库运行程序一起使用。 如果您只是运行测试,则可能不需要这个。它主要由library作者使用 …...
git补充上次提交
1.首先,确保你还没有执行 git push 操作。如果尚未推送到远程仓库,那么可以在本地进行修正。 2.添加遗漏的文件: git add <遗漏的文件路径>3.提交新修改或新增的文件,并将它与上一次提交合并(如果希望保持提交历…...
试用网站建设/电子商务seo名词解释
作者简介 青花瓷的平方,携程技术专家,主要从事无线开发,负责携程支付iOS相关开发工作。一、引言Combine.framework 是Apple在2019 WWDC 上基于Swift推出的函数响应框架(Functional Reactive Programming),支持Apple全平…...
电子商务网站建设合同书/网站如何进行网络推广
算法常用面试题汇总 1.说一下什么是二分法?使用二分法时需要注意什么?如何用代码实现? 二分法查找(Binary Search)也称折半查找,是指当每次查询时,将数据分为前后两部分,再用中值和…...
分析网络营销的特点/沈阳seo优化排名公司
ppt转pdf一般人都会去网上搜,今天我想把ppt转pdf,一搜百度就是一堆软件跟广告,看着就™恶心。 今天我找到了ppt转pdf的方法,以后不用去在苦恼这个事情了,希望能帮到你鸭。 打开需要转换的ppt点击文件 点击导出 点击创…...
powered by wordpress/云南今日头条新闻
项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于java的外卖点菜系统,管理员通过后台添加菜品,用户浏览器登录,查看菜品、购买、下单等。根据需求,本系统采用的是BS(Browser Server简称浏览器服…...
制定网站响应时间/产品网络营销推广方案
棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 86480 Accepted: 39939 Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同…...
金融公司网站开发费用入什么科目/seo主要优化哪些
参考文档: 65.1. 简介 (postgres.cn) BRIN表示块范围索引。 BRIN是为处理这样的表而设计的:表的规模非常大, 并且其中某些列与它们在表中的物理位置存在某种自然关联。一个 块范围是一组在表中物理上相邻的页面,对于每一个块范围…...