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 …...

阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...

PH热榜 | 2025-06-08
1. Thiings 标语:一套超过1900个免费AI生成的3D图标集合 介绍:Thiings是一个不断扩展的免费AI生成3D图标库,目前已有超过1900个图标。你可以按照主题浏览,生成自己的图标,或者下载整个图标集。所有图标都可以在个人或…...

claude3.7高阶玩法,生成系统架构图,国内直接使用
文章目录 零、前言一、操作指南操作指导 二、提示词模板三、实战图书管理系统通过4o模型生成系统描述通过claude3.7生成系统架构图svg代码转换成图片 在线考试系统通过4o模型生成系统描述通过claude3.7生成系统架构图svg代码转换成图片 四、感受 零、前言 现在很多AI大模型可以…...

MySQL 数据库深度剖析:事务、SQL 优化、索引与 Buffer Pool
在当今数据驱动的时代,数据库作为数据存储与管理的核心,其性能与可靠性至关重要。MySQL 作为一款广泛使用的开源数据库,在众多应用场景中发挥着关键作用。在这篇博客中,我将围绕 MySQL 数据库的核心知识展开,涵盖事务及…...