您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

知道这些正则表达式,能让你少写1000行代码

时间:2023-11-30 13:41:46  来源:微信公众号  作者:沐雨花飞蝶
知道这些正则表达式,能让你少写1000行代码

校验密码强度

  • 密码长度为8-16位
  • 必须包含至少一个大写字母、一个小写字母和一个数字
^(?=.*[a-z])(?=.*[A-Z])(?=.*d)[a-zA-Zd]{8,16}$

这个正则表达式的含义是:

  • ^ 表示匹配字符串的开始
  • (?=.*[a-z]) 表示至少包含一个小写字母
  • (?=.*[A-Z]) 表示至少包含一个大写字母
  • (?=.*d) 表示至少包含一个数字
  • [a-zA-Zd]{8,16} 表示密码由大小写字母和数字组成,且长度为8-16位
  • $ 表示匹配字符串的结束

使用这个正则表达式可以校验密码是否符合一定的强度要求。

校验中文

^[u4e00-u9fa5]+$

这个正则表达式可以匹配一个或多个中文字符。

由数字、英文字母、下划线组成的字符串

^w+$

w表示匹配任意数字、英文字母、下划线。+表示匹配前面的字符一次或多次。^表示匹配字符串的开头,$表示匹配字符串的结尾。因此,这个正则表达式可以用来校验由数字、英文字母、下划线组成的字符串。

校验邮箱地址

^[w.-]+@[a-zA-Zd.-]+.[a-zA-Z]{2,}$

这个正则表达式的含义是:

  • ^ 表示匹配字符串的开头
  • [w.-]+ 匹配邮箱地址中的用户名部分,包括字母、数字、下划线、点和连字符,且至少包含一个字符
  • @ 匹配邮箱地址中的@符号
  • [a-zA-Zd.-]+ 匹配邮箱地址中的域名部分,包括字母、数字、点和连字符,且至少包含一个字符
  • . 匹配邮箱地址中的域名部分和顶级域名之间的点
  • [a-zA-Z]{2,} 匹配邮箱地址中的顶级域名部分,包括至少两个字母
  • $ 表示匹配字符串的结尾

这个正则表达式可以校验大部分常见的邮箱地址格式,但并不能保证一定能匹配所有合法的邮箱地址。

 

校验身份证号

/^(d{6})(19|20)?(d{2})(0[1-9]|1[0-2])(0[1-9]|[12]d|3[01])(d{3})(d|X)?$/

^表示匹配字符串的开始,$表示匹配字符串的结束。括号用于分组,d表示匹配数字,?表示前面的字符可选,|表示或的关系,[...]表示匹配括号内的任意一个字符,{n}表示匹配前面的字符n次,{m,n}表示匹配前面的字符至少m次,至多n次。

这个正则表达式可以匹配18位和15位身份证号,其中18位身份证号的前17位为数字,最后一位可以是数字或者X,15位身份证号的前15位为数字。

校验日期

^(?:(?:31(/|-|.)(?:0?[13578]|1[02]))1|(?:(?:29|30)(/|-|.)(?:0?[13-9]|1[0-2])2))(?:(?:1[6-9]|[2-9]d)?d{2})$|^(?:29(/|-|.)(?:0?2)3(?:(?:(?:1[6-9]|[2-9]d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1d|2[0-8])(/|-|.)(?:(?:0?[1-9])|(?:1[0-2]))4(?:(?:1[6-9]|[2-9]d)?d{2})$

这个正则表达式可以匹配格式为"dd/mm/yyyy"、"dd-mm-yyyy"或"dd.mm.yyyy"的日期,其中年份为1600年至9999年之间的日期。

^d{4}-d{2}-d{2}$

这个正则表达式可以使用以下正则表达式来校验yyyy-mm-dd格式的日期,以4位数字开头,然后是一个连字符,然后是2位数字,再然后是一个连字符,最后是2位数字。

校验金额

^d{1,3}(,d{3})*(.d{2})?$

这个正则表达式可以匹配以下金额格式:

  • 123
  • 1,234
  • 1,234.56
  • 123.45

其中:

  • ^d{1,3} 匹配 1 到 3 位数字开头
  • (,d{3})* 匹配逗号和3位数字的组合,可以重复任意次
  • (.d{2})? 匹配小数点和2位数字的组合,可选

这个正则表达式可以满足大部分金额的校验需求。

校验手机

^1[3-9]d{9}$

这个正则表达式可以匹配以1开头的11位数字,其中第二位数字为3-9之间的任意数字。

检查IE版本

MSIEs(d+)

这个正则表达式可以匹配以"MSIE"开头,后面跟着一个或多个数字的字符串,这个数字就是IE的版本号。

校验IP地址

^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$

这个正则表达式可以匹配合法的IP地址,其中每个段的取值范围是0到255。

校验URL

^(https?|ftp)://[^s/$.?#].[^s]*$

这个正则表达式可以匹配以http、https或ftp开头的URL,例如:https://www.bAIdu.com。

校验文件路径及扩展名

文件路径的正则表达式:

^(/[^/]+)+$

解释:

  • ^ 表示匹配字符串的开头
  • (/[^/]+)+ 表示匹配以/开头,后面跟着至少一个非/和空字符的字符组合,可以重复多次
  • $ 表示匹配字符串的结尾

扩展名的正则表达式:

.[a-zA-Z0-9]+$

解释:

  • . 表示匹配.字符
  • [a-zA-Z0-9]+ 表示匹配至少一个字母或数字
  • $ 表示匹配字符串的结尾

将两个正则表达式结合起来,可以校验文件路径及扩展名:

^(/[^/]+)+.[a-zA-Z0-9]+$

提取Hex颜色值

#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})

这个正则表达式可以匹配带有#前缀的6位或3位16进制颜色代码。

匹配html标签

<([a-z1-6]+)([^<]+)*(?:>(.*)</1>|s/>)

这个正则表达式可以匹配类似<div><a href="example.com"><img src="image.jpg" />等HTML标签。

在线工具:https://regex101.com/



Tags:正则表达式   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
知道这些正则表达式,能让你少写1000行代码
校验密码强度 密码长度为8-16位 必须包含至少一个大写字母、一个小写字母和一个数字^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,16}$这个正则表达式的含义是: ^ 表示匹...【详细内容】
2023-11-30  Search: 正则表达式  点击:(162)  评论:(0)  加入收藏
Python正则表达式:高效处理文本数据的秘诀!
当谈到文本处理和搜索时,正则表达式是Python中一个强大且不可或缺的工具。正则表达式是一种用于搜索、匹配和处理文本的模式描述语言,可以在大量文本数据中快速而灵活地查找、...【详细内容】
2023-10-15  Search: 正则表达式  点击:(120)  评论:(0)  加入收藏
正则表达式进阶--玩转分组、前瞻和后顾
前言正则表达式是一种强大的模式匹配工具,可以用于在字符串中查找、替换和提取特定的文本。分组是一项非常重要的功能,它允许我们将模式进行分组,并在匹配过程中对分组进行操作...【详细内容】
2023-09-20  Search: 正则表达式  点击:(302)  评论:(0)  加入收藏
15 个常用的正则表达式技巧
你对正则表达式有何看法?我猜你会说这太晦涩难懂了,我对它根本不感兴趣。是的,我曾经和你一样,以为我这辈子都学不会了。但我们不能否认它确实很强大,我在工作中经常使用它,今天,我...【详细内容】
2023-09-05  Search: 正则表达式  点击:(269)  评论:(0)  加入收藏
20 个你应该掌握的强大而有用的正则表达式
一起来了解下20 个你应该掌握的强大而有用的正则表达式都有哪些。1.货币格式化我经常需要在工作中使用到格式化的货币,使用正则表达式让这变得非常简单。const formatPrice =...【详细内容】
2023-06-13  Search: 正则表达式  点击:(362)  评论:(0)  加入收藏
灾难性回溯:正则表达式如何导致ReDoS漏洞?
当用户需要搜索和替换文本时,正则表达式就会派上用场。然而,在某些情况下,它们可能会导致系统变慢,甚至容易受到ReDoS攻击。 ​简介​ReDoS是DoS攻击的一种子类型。ReDoS攻击的...【详细内容】
2023-03-28  Search: 正则表达式  点击:(183)  评论:(0)  加入收藏
正则表达式,这篇看完就够了
正则表达式是一种用于匹配文本模式的工具,它能够帮助我们在处理文本时更加高效地进行搜索、替换和验证操作。在本篇文章中,我将通过通俗易懂的语言让正则表达式不再苦涩难懂。...【详细内容】
2023-02-20  Search: 正则表达式  点击:(117)  评论:(0)  加入收藏
JavaScript正则表达式加密
JavaScript正则表达式加密正则表达式可以加密吗?是的,可以。起码可以确定的是在JavaScript编程中是可以的。正则表达式加密有什么用?可以隐藏一些重要的、私密的字符串内容,使代...【详细内容】
2022-11-27  Search: 正则表达式  点击:(274)  评论:(0)  加入收藏
Java正则表达式语法有哪些?
许多人在学习Java的过程中都会对Java正则表达式产生困惑,今天“好程序员”就将为大家解答如下问题:Java正则表达式是什么?Java正则表达式的规则有哪些?正则表达式语法有哪些?正则...【详细内容】
2022-11-01  Search: 正则表达式  点击:(335)  评论:(0)  加入收藏
算法:正则表达式匹配
请实现一个函数用来匹配包含&#39;. &#39;和&#39;*&#39;的正则表达式。模式中的字符&#39;.&#39;表示任意一个字符,而&#39;*&#39;表示它前面的字符可以出现任意次(含0次)。在本题...【详细内容】
2022-07-13  Search: 正则表达式  点击:(375)  评论:(0)  加入收藏
▌简易百科推荐
即将过时的 5 种软件开发技能!
作者 | Eran Yahav编译 | 言征出品 | 51CTO技术栈(微信号:blog51cto) 时至今日,AI编码工具已经进化到足够强大了吗?这未必好回答,但从2023 年 Stack Overflow 上的调查数据来看,44%...【详细内容】
2024-04-03    51CTO  Tags:软件开发   点击:(5)  评论:(0)  加入收藏
跳转链接代码怎么写?
在网页开发中,跳转链接是一项常见的功能。然而,对于非技术人员来说,编写跳转链接代码可能会显得有些困难。不用担心!我们可以借助外链平台来简化操作,即使没有编程经验,也能轻松实...【详细内容】
2024-03-27  蓝色天纪    Tags:跳转链接   点击:(12)  评论:(0)  加入收藏
中台亡了,问题到底出在哪里?
曾几何时,中台一度被当做“变革灵药”,嫁接在“前台作战单元”和“后台资源部门”之间,实现企业各业务线的“打通”和全域业务能力集成,提高开发和服务效率。但在中台如火如荼之...【详细内容】
2024-03-27  dbaplus社群    Tags:中台   点击:(8)  评论:(0)  加入收藏
员工写了个比删库更可怕的Bug!
想必大家都听说过删库跑路吧,我之前一直把它当一个段子来看。可万万没想到,就在昨天,我们公司的某位员工,竟然写了一个比删库更可怕的 Bug!给大家分享一下(不是公开处刑),希望朋友们...【详细内容】
2024-03-26  dbaplus社群    Tags:Bug   点击:(5)  评论:(0)  加入收藏
我们一起聊聊什么是正向代理和反向代理
从字面意思上看,代理就是代替处理的意思,一个对象有能力代替另一个对象处理某一件事。代理,这个词在我们的日常生活中也不陌生,比如在购物、旅游等场景中,我们经常会委托别人代替...【详细内容】
2024-03-26  萤火架构  微信公众号  Tags:正向代理   点击:(10)  评论:(0)  加入收藏
看一遍就理解:IO模型详解
前言大家好,我是程序员田螺。今天我们一起来学习IO模型。在本文开始前呢,先问问大家几个问题哈~什么是IO呢?什么是阻塞非阻塞IO?什么是同步异步IO?什么是IO多路复用?select/epoll...【详细内容】
2024-03-26  捡田螺的小男孩  微信公众号  Tags:IO模型   点击:(8)  评论:(0)  加入收藏
为什么都说 HashMap 是线程不安全的?
做Java开发的人,应该都用过 HashMap 这种集合。今天就和大家来聊聊,为什么 HashMap 是线程不安全的。1.HashMap 数据结构简单来说,HashMap 基于哈希表实现。它使用键的哈希码来...【详细内容】
2024-03-22  Java技术指北  微信公众号  Tags:HashMap   点击:(11)  评论:(0)  加入收藏
如何从头开始编写LoRA代码,这有一份教程
选自 lightning.ai作者:Sebastian Raschka机器之心编译编辑:陈萍作者表示:在各种有效的 LLM 微调方法中,LoRA 仍然是他的首选。LoRA(Low-Rank Adaptation)作为一种用于微调 LLM(大...【详细内容】
2024-03-21  机器之心Pro    Tags:LoRA   点击:(12)  评论:(0)  加入收藏
这样搭建日志中心,传统的ELK就扔了吧!
最近客户有个新需求,就是想查看网站的访问情况。由于网站没有做google的统计和百度的统计,所以访问情况,只能通过日志查看,通过脚本的形式给客户导出也不太实际,给客户写个简单的...【详细内容】
2024-03-20  dbaplus社群    Tags:日志   点击:(4)  评论:(0)  加入收藏
Kubernetes 究竟有没有 LTS?
从一个有趣的问题引出很多人都在关注的 Kubernetes LTS 的问题。有趣的问题2019 年,一个名为 apiserver LoopbackClient Server cert expired after 1 year[1] 的 issue 中提...【详细内容】
2024-03-15  云原生散修  微信公众号  Tags:Kubernetes   点击:(5)  评论:(0)  加入收藏
站内最新
站内热门
站内头条