当前位置: 首页 > news >正文

正则表达式集合

目录

一、校验数字的表达式

1. 数字

2. n位的数字

3. 至少n位的数字

4. m-n位的数字

5. 零和非零开头的数字

6. 非零开头的最多带两位小数的数字

7. 带1-2位小数的正数或负数

8. 正数、负数、和小数

9. 有两位小数的正实数

10. 有1~3位小数的正实数

11. 非零的正整数

12. 非零的负整数

13. 非负整数

14. 非正整数

15. 非负浮点数

16. 非正浮点数

17. 正浮点数

18. 负浮点数

19. 浮点数

二、校验字符的表达式

1. 汉字

2. 英文和数字

3. 长度为3-20的所有字符

4. 由26个英文字母组成的字符串

5. 由26个大写英文字母组成的字符串

6. 由26个小写英文字母组成的字符串

7. 由数字和26个英文字母组成的字符串

8. 由数字、26个英文字母或者下划线组成的字符串

9. 中文、英文、数字包括下划线

10. 中文、英文、数字但不包括下划线等符号

11. 可以输入含有^%&',;=?$\"等字符

12 禁止输入含有~的字符

三、特殊需求表达式

1. Email地址

2. 域名

3. InternetURL

4. 手机号码

5. 电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX)

6. 国内电话号码(0511-4405222、021-87888822)

7. 身份证号(15位、18位数字)

8. 短身份证号码(数字、字母x结尾)

9. 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):

10. 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线)

11. 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间)

12. 日期格式

13. 一年的12个月(01~09和1~12)

14. 一个月的31天(01~09和1~31)

15. 钱的输入格式:

16. xml文件

17. 中文字符的正则表达式

18. 双字节字符

19. 空白行的正则表达式

20. HTML标记的正则表达式

21. 首尾空白字符的正则表达式

22. 腾讯QQ号

23. 中国邮政编码

24. IP地址


一、校验数字的表达式


1. 数字

^[0-9]*$

2. n位的数字

^\d{n}$

3. 至少n位的数字

^\d{n,}$

4. m-n位的数字

^\d{m,n}$

5. 零和非零开头的数字

^(0|[1-9][0-9]*)$

6. 非零开头的最多带两位小数的数字

^([1-9][0-9]*)+(.[0-9]{1,2})?$

7. 带1-2位小数的正数或负数

^(\-)?\d+(\.\d{1,2})?$

8. 正数、负数、和小数

^(\-|\+)?\d+(\.\d+)?$

9. 有两位小数的正实数

^[0-9]+(.[0-9]{2})?$

10. 有1~3位小数的正实数

^[0-9]+(.[0-9]{1,3})?$

11. 非零的正整数

^[1-9]\d*$ 

^([1-9][0-9]*){1,3}$

^\+?[1-9][0-9]*$

12. 非零的负整数

^\-[1-9][]0-9"*$

^-[1-9]\d*$

13. 非负整数

^(([1-9]\d*)|0)$

14. 非正整数

^-[1-9]\d*|0$

^((-\d+)|(0+))$

15. 非负浮点数

^\d+(\.\d+)?$ 

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$

16. 非正浮点数

^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 

^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$

17. 正浮点数

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 

^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

18. 负浮点数

^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 

^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$

19. 浮点数

^(-?\d+)(\.\d+)?$ 

^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$


二、校验字符的表达式
 

1. 汉字

^[\u4e00-\u9fa5]{0,}$

2. 英文和数字

^[A-Za-z0-9]+$

 ^[A-Za-z0-9]{4,40}$

3. 长度为3-20的所有字符

^.{3,20}$

4. 由26个英文字母组成的字符串

^[A-Za-z]+$

5. 由26个大写英文字母组成的字符串

^[A-Z]+$

6. 由26个小写英文字母组成的字符串

^[a-z]+$

7. 由数字和26个英文字母组成的字符串

^[A-Za-z0-9]+$

8. 由数字、26个英文字母或者下划线组成的字符串

^\w+$ 

^\w{3,20}$

9. 中文、英文、数字包括下划线

^[\u4E00-\u9FA5A-Za-z0-9_]+$

10. 中文、英文、数字但不包括下划线等符号

^[\u4E00-\u9FA5A-Za-z0-9]+$ 

^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$

11. 可以输入含有^%&',;=?$\"等字符

[^%&',;=?$\x22]+

12 禁止输入含有~的字符

[^~\x22]+

三、特殊需求表达式
 

1. Email地址

^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

2. 域名

[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?

3. InternetURL

[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$

4. 手机号码

^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$

5. 电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX)

^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$

6. 国内电话号码(0511-4405222、021-87888822)

\d{3}-\d{8}|\d{4}-\d{7}

7. 身份证号(15位、18位数字)

^\d{15}|\d{18}$

8. 短身份证号码(数字、字母x结尾)

^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$

9. 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):

^[a-zA-Z][a-zA-Z0-9_]{4,15}$

10. 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线)

^[a-zA-Z]\w{5,17}$

11. 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间)

^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$

12. 日期格式

^\d{4}-\d{1,2}-\d{1,2}

13. 一年的12个月(01~09和1~12)

^(0?[1-9]|1[0-2])$

14. 一个月的31天(01~09和1~31)

^((0?[1-9])|((1|2)[0-9])|30|31)$

15. 钱的输入格式:

①有四种钱的表示形式我们可以接受:"10000.00" 和 "10,000.00", 和没有 "分" 的 "10000" 和 "10,000"

^[1-9][0-9]*$

②这表示任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过,所以我们采用下面的形式:

^(0|[1-9][0-9]*)$

③一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号:

^(0|-?[1-9][0-9]*)$

④这表示一个0或者一个可能为负的开头不为0的数字.让用户以0开头好了.把负号的也去掉,因为钱总不能是负的吧.下面我们要加的是说明可能的小数部分:

^[0-9]+(.[0-9]+)?$

⑤必须说明的是,小数点后面至少应该有1位数,所以"10."是不通过的,但是 "10" 和 "10.2" 是通过的:

^[0-9]+(.[0-9]{2})?$

⑥这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样:

^[0-9]+(.[0-9]{1,2})?$

⑦这样就允许用户只写一位小数.下面我们该考虑数字中的逗号了,我们可以这样:

^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$

⑧1到3个数字,后面跟着任意个 逗号+3个数字,逗号成为可选,而不是必须:

^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$

16. xml文件

^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$

17. 中文字符的正则表达式

[\u4e00-\u9fa5]

18. 双字节字符

[^\x00-\xff]

包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

19. 空白行的正则表达式

\n\s*\r

可以用来删除空白行

20. HTML标记的正则表达式

<(\S*?)[^>]*>.*?</\1>|<.*? /> 

21. 首尾空白字符的正则表达式

^\s*|\s*$或(^\s*)|(\s*$)

可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等)

22. 腾讯QQ号

[1-9][0-9]{4,}

(腾讯QQ号从10000开始)

23. 中国邮政编码

[1-9]\d{5}(?!\d)

(中国邮政编码为6位数字)

24. IP地址

\d+\.\d+\.\d+\.\d+

((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))

附:正则表达式语法大全:https://www.runoob.com/regexp/regexp-tutorial.html
 

相关文章:

正则表达式集合

目录 一、校验数字的表达式 1. 数字 2. n位的数字 3. 至少n位的数字 4. m-n位的数字 5. 零和非零开头的数字 6. 非零开头的最多带两位小数的数字 7. 带1-2位小数的正数或负数 8. 正数、负数、和小数 9. 有两位小数的正实数 10. 有1~3位小数的正实数 11. 非零的正整…...

Django框架中models对象转换为json的方法

在django框架中输出api接口时一般都是输出json数据但是通过orm获取的数据库数据一般都是object所以需要转换成json数据&#xff0c;一般有一下3种情况 1.models对象使用“all()”时 from django.http import HttpResponse from django.core import serializers from TestMode…...

利用Servlet编写第一个“hello world“

利用Servlet编写第一个"hello world" &#x1f50e;创建 Maven 项目&#x1f50e;引入依赖&#x1f50e;创建目录&#x1f50e;编写代码&#x1f50e;打包代码&#x1f50e;部署&#x1f50e;程序验证&#x1f50e;结尾 &#x1f50e;创建 Maven 项目 Maven 是一个构…...

python 爬虫之js逆向爬虫详解

随着网站前端技术的不断发展&#xff0c;越来越多的网站采用JS进行渲染&#xff0c;并加上了一些反爬机制&#xff0c;导致传统的爬虫技术有些力不从心。本文将为大家介绍如何进行JS逆向爬虫&#xff0c;并且不少于1000字。 一、JS逆向爬虫的介绍 JS逆向是一种分析反爬机制的…...

SpringBoot:WebSocket实现消息撤回、图片撤回

下面只是讲述一下实现思路&#xff0c;代码基本没有哈&#xff01;有时间单独发表一篇关于websocket的相关操作的博客。 1. 消息撤回、图片撤回 个人觉得关于撤回&#xff0c;需要下述几个过程&#xff1a; 发送的消息的标签上可以定义一个属性&#xff0c;这个属性的值应该是…...

输出指定日期区间内的所有天、周、月

部分方法需要依赖hutool工具包。 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>4.5.10</version> </dependency>需求&#xff1a;输出2023-04-17到2023-05-23期间所有的天、周、月。…...

【线性规划模型】

线性规划模型&#xff1a;原理介绍和预测应用 引言 线性规划是运筹学中一种重要的数学优化方法&#xff0c;被广泛应用于各个领域&#xff0c;包括工业、经济、物流等。 线性规划模型的原理 线性规划模型的目标是在一组线性约束条件下&#xff0c;寻找一组变量的最优解&…...

android 12.0卸载otg设备开机不加载otg设备

1.概述 在12.0定制化开发过程中,客户有功能需求,通过系统属性值控制是否加载挂载otg设备,当设置为卸载模式时,要求不能挂载otg设备,开机也不能挂载otg设备 2.卸载otg设备开机不加载otg设备的核心代码 frameworks/base/services/core/java/com/android/server/StorageMan…...

通过 Wacom 的 Project Mercury 提高远程办公效率

过去几年中&#xff0c;我们的工作方式发生了翻天覆地的变化。疫情加快了对远程办公和协作的采纳&#xff0c;导致人们更加依赖技术来联系团队和提高工作效率。 但是&#xff0c;那些依靠专门硬件和软件来完成工作的创作者呢&#xff1f;艺术家、设计师和开发人员需要使用专门…...

Linux-0.11 文件系统namei.c详解

Linux-0.11 文件系统namei.c详解 模块简介 namei.c是整个linux-0.11版本的内核中最长的函数&#xff0c;总长度为700行。其核心是namei函数&#xff0c;即根据文件路径寻找对应的i节点。 除此以外&#xff0c;该模块还包含一些创建目录&#xff0c;删除目录&#xff0c;创建目…...

计算机网络学习笔记

<!-- GFM-TOC --> 计算机网络体系结构 传输层&#xff1a;TCP和UDP 什么是三次握手&#xff1f; 什么是四次挥手&#xff1f; TCP如何实现流量控制&#xff1f; TCP的拥塞控制是怎么实现的&#xff1f; TCP如何最大利用带宽&#xff1f; TCP与UDP的区别 TCP如何保…...

Pod相关操作命令

Pod相关操作命令 Pod setup # CocoaPods 将信息下载到~/.cocoapods/repos 目录下。如果安装 CocoaPods 时不执行此命令&#xff0c;在初次执行pod intall 命令时&#xff0c;系统也会自动执行该指令 pod --version # 检查 CocoaPods 是否安装成功及其版本号 pod repo update #…...

图灵完备游戏:信号计数 解法记录

使用1个全加器 2个半加器完成。这关的思想主旨在于如何把输出4&#xff0c;输出2&#xff0c;输出1的情况统一在一根导线上。 首先用一个全加器来完成输入2-4这三个引脚的计数&#xff0c;因为全加器输出范围二进制是00 - 11&#xff0c;而输入正好有两个引脚数位是2和1&…...

数据结构图的基础概念

1、图的概念 图(Graph)&#xff1a;是由顶点的有穷非空集合和顶点之间边的集合组成。顶点(Vertex)&#xff1a;图中的数据元素。边(Edge)&#xff1a;顶点之间的逻辑关系,边可以是有向的或无向的&#xff0c;也可以带有权重&#xff08;可以表示距离&#xff0c;花费等&#xf…...

一场九年前的“出发”:奠基多模态,逐鹿大模型

原创&#xff1a;谭婧 全球AI大模型的技术路线&#xff0c;没有多少秘密&#xff0c;就那几条路线&#xff0c;一只手都数得过来。 而举世闻名的GPT-4浑身上下都是秘密。 这两件事并不矛盾。为什么呢&#xff1f; 这就好比&#xff0c;回答“如何制造一台光刻机&#xff1f;”。…...

什么是url跳转漏洞?

什么是url跳转漏洞 简介原因&#xff1a;如何防止 简介 URL跳转漏洞是一种Web应用程序安全问题&#xff0c;指的是在应用程序处理URL跳转时&#xff0c;由于程序员的疏忽或设计不当&#xff0c;攻击者可能通过构造恶意URL来实现对应用程序的攻击。 原因&#xff1a; 跳转条件…...

生物学经典blast比对算法,R语言和Python如何实现?

Blast比对算法原理与实现方式 做生物的同学肯定听说过blast比对这个方法&#xff0c;一般在NCBI等网站上可以在线进行比对&#xff0c;也可以在本地服务器进行比对&#xff0c;那么blast算法究竟是怎么实现对不同序列的比对呢&#xff1f; 本文分享经典blast算法的基础原理&…...

Android 开机动画支持mp4格式视频播放

前 言 Android系统在启动的过程中&#xff0c;最多可以出现三个画面&#xff0c;每一个画面都用来描述一个不同的启动阶段。无论是哪一个画面&#xff0c;它们都是在一个称为帧缓冲区&#xff08;frame buffer&#xff0c;简称fb&#xff09;的硬件设备上进行渲染的。 自定义…...

软考A计划-试题模拟含答案解析-卷十

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&am…...

Kafka入门(安装和SpringBoot整合)

文章目录 一、Docker安装Kafka1. 创建网络2. 安装zookeeper3. 安装Kafka 二、Kafka介绍1. Kafka简介 三、SpringBoot整合Kafka1. 引入pom依赖2. application.propertise配置3. Hello Kafka(Producer)4. Consumer Kafka5. 带回调的生产者6. 自定义分区器7. kafka事务提交8. 指定…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向&#xff0c;可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...