0

0

99+ 个常用正则表达式,一次白嫖个够!

青灯夜游

青灯夜游

发布时间:2022-07-19 11:10:42

|

3087人浏览过

|

来源于掘金社区

转载

正则描述了一种字符串匹配的模式,但对于很多人来说写正则就是”兰德里的折磨“吧。如果不是有需求频繁要用,根本就不会想着学它。本篇文章就给大家整理分享一些常用正则表达式,想要白嫖正则吗?快来收藏吧!

想要白嫖正则是吧?本篇就一次给你个够!先冲 99 个!(如果还觉得不够就评论反馈后再加,本篇持续更新加码!!)

另外 1 个小 tips,对正则阅读有障碍的同学可以借助这个网站 jex.im/regulex/,将正则可视化,从此爱上读正则!

比如:校验邮箱的正则:^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$

1.png

可视化后,直接看图说话,小白都会,真滴 tql !!

好了,冲了!

号码相关

  • 手机号(以 1 开头):/^(?:(?:+|00)86)?1d{10}$/

  • 手机号(以 13 至19 开头):/^(?:(?:+|00)86)?1[3-9]d{9}$/

  • 手机号(以工信部公布的手机号段开头):/^(?:(?:+|00)86)?1(?:(?:3[d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[d])|(?:9[189]))d{8}$/

  • 国内固话号码:/d{3}-d{8}|d{4}-d{7}/

  • 邮箱号:/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/

  • 邮政编码:/[1-9]d{5}(?!d)/

  • 身份证号:/^[1-9]d{5}(?:18|19|20)d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]d|30|31)d{3}[dXx]$/

  • 银行卡号(公、私账户):/^[1-9]d{9,29}$/

  • 车牌号:/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/

  • QQ 号:/^[1-9][0-9]{4,10}$/

  • 微信号:/^[a-zA-Z][-_a-zA-Z0-9]{5,19}$/

  • 版本号( x.y.z ):/^d+(?:.d+){2}$/

  • 合法账号1(字母开头,5-16位,允许字母数字下划线):/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/

  • 合法账号2(4-16位,允许字母,数字,下划线,减号):/^[a-zA-Z0-9_-]{4,16}$/

  • 强密码1(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):/^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/

  • 强密码2(必须包含字母、数字、特殊字符:**@#$%^& `~()-+=* ):

/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-ZW_!@#$%^&* ~()-+=]+$)(?![a-z0-9]+$)(?![a-z\W_!@#$%^& *~()-+=]+$)(?![0-9W_!@#$%^&* ~()-+=]+$)[a-zA-Z0-9\W_!@#$%^&*~()-+=]/

  • 网址:/^(((ht|f)tps?)://)?(^!@#$%^&*?.s-?.)+[a-z]{2,6}/?/

  • 网址带端口号:/^((ht|f)tps?://)?[w-]+(.[w-]+)+:d{1,5}/?$/

  • ip-v4:/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/

  • ip-v6:/(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))/

数字相关

  • 只有数字:/^[0-9]*$//^d{1,}$/

  • 整数:/^-?[0-9]d*$/

  • 正整数:/^+?[1-9]d*$/

  • 非正整数:/^-[1-9]d*|0$/

  • 负整数:/^-[1-9]d*$/

  • 非负整数:/^d+$/

  • 浮点数:/^(-?d+)(.d+)?$/

  • 正浮点数:/^[1-9]d*.d*|0.d*[1-9]d*$/

  • 负浮点数:/^-([1-9]d*.d*|0.d*[1-9]d*)/

  • 小数:/^-?d+.d+$/

  • 正数/负数/小数:/^(-|+)?d+(.d+)?$/

  • 正实数保留小数点后 2 位:/^[0-9]+(.[0-9]{2})?$/

  • 正实数保留小数点后 1 到 3 位:/^[0-9]+(.[0-9]{1,3})?$/

  • n 位数字:/^d{n}$/

  • 至少 n 位数字:/^d{n,}$/

  • m 至 n 位的数字:/^d{m,n}$/

  • 数字和字母至少包含其一:/^[A-Za-z0-9]+$/

  • 必须包含数字和字母:/^(?=.*[a-zA-Z])(?=.*d).+$/

  • md5 值 :/^([a-fd]{32}|[A-Fd]{32})$/

  • base64 值:/^s*data:(?:[a-z]+/[a-z0-9-+.]+(?:;[a-z-]+=[a-z0-9-]+)?)?(?:;base64)?,([a-z0-9!$&',()*+;=-._~:@/?%s]*?)s*$/i

字符相关

  • m 至 n 位的字符:/^.{3,20}$/

  • 英文字母字符:/^[A-Za-z]+$/

  • 大写英文字母字符:/^[A-Z]+$/

  • 小写英文字母字符:/^[a-z]+$/

  • 汉字:/^[u4e00-u9fa5]{0,}$/

  • 全角符号:/[uFF00-uFFFF]/

  • 半角符号:/[u0000-u00FF]/

  • 汉字、英文、数字、下划线至少其一:/^[u4E00-u9FA5A-Za-z0-9_]+$/

  • 不包含字符 “~” :/[^~"]+/

    UNIX技术手册 Unix in a Nutshell, 4th Edition 英文PDF文字版
    UNIX技术手册 Unix in a Nutshell, 4th Edition 英文PDF文字版

    Unix in a Nutshell同时涵盖了许多重要的、业界标准的开放源码工具 本书还完整地讨论了常用的shell(bash、ksh及tcsh)和重要元素如正则表达式,乃至旧式工具如sed、awk与vi。 Unix不是一个庞大的物体:它是一个综合体,而《Unix技术手册》则是将这一切合并在一起的一本书。 到底unix是什么?原始的unix源码是由sco拥有,unix注册商标是由open group拥有,而领先的仿unix系统则是gnu/linux、mac os x及solaris。这些版本所附的命令与选

    下载
  • 字符连续重复:/(.)+/

⌚时间相关

  • 24小时制时间(HH:mm:ss):/^(?:[01]d|2[0-3]):[0-5]d:[0-5]d$/

  • 12小时制时间(hh:mm:ss):/^(?:1[0-2]|0?[1-9]):[0-5]d:[0-5]d$/

  • 24小时制时间(HHmmss):/([0-1]?[0-9]|2[0-3])([0-5][0-9])([0-5][0-9])$/

  • 日期1(yyyy-MM-dd,如 2222-01-01,年份必为4位):/^d{4}-d{1,2}-d{1,2}/

  • 日期2(如 333-01-01,年份可小于4位):/^d{1,4}(-)(1[0-2]|0?[1-9])(0?[1-9]|[1-2]d|30|31)$/

  • 日期3(yyyyMMdd,如 20220202):/^((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229))$/

  • 日期+时间1(YYYYMMDD HH:mm:ss):/^d{4}([/:-S])(1[0-2]|0?[1-9])(0?[1-9]|[1-2]d|30|31) (?:[01]d|2[0-3]):[0-5]d:[0-5]d$/

  • 日期+时间2: /^[1-9]d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])s+(20|21|22|23|[0-1]d):[0-5]d:[0-5]d$/

  • 一年 12 个月((01~09 或 1~12)):/^(0?[1-9]|1[0-2])$/

  • 一个月 31 天(01~09 或 1~31):/^((0?[1-9])|((1|2)[0-9])|30|31)$/

  • 有 31 天的月份:/^(0?[13578]|1[02])$/

  • 有 30 天月的份:/(0[469]|11)-(0[1-9]|[12][0-9]|30)/

  • 2 月 28 天("02-28"):/^02-(0[1-9]|[1][0-9]|2[0-8])$/

  • 闰年:/^(((19|20)([13579][26]|[2468][048]|0[48]))|(2000))$/

  • 闰年 2 月(比如 2008-02-01):/^(((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-0?2-(0?[1-9]|[12]d)$/

  • 日期(包括闰年、大小月的判断):/((((19|20)d{2})-(0?(1|[3-9])|1[012])-(0?[1-9]|[12]d|30))|(((19|20)d{2})-(0?[13578]|1[02])-31)|(((19|20)d{2})-0?2-(0?[1-9]|1d|2[0-8]))|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-0?2-29))$/

  • 年份区间-年(比如 19 年至 20 年):/^((19|20)d{2})$/

  • 年份区间-年月(比如 1999-01):/^((((19|20)d{2})-(0?[13-9]|1[012]))|(((19|20)d{2})-(0?[13578]|1[02]))|(((19|20)d{2})-0?2)|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-0?2))$/

  • 年份区间-年月日(比如 1999-01-01):/^((((19|20)d{2})-(0?[13-9]|1[012])-(0?[1-9]|[12]d|30))|(((19|20)d{2})-(0?[13578]|1[02])-31)|(((19|20)d{2})-0?2-(0?[1-9]|1d|2[0-8]))|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-0?2-29))$/.test('2021-02-21')$/

  • 年份区间-年月日(间隔符号可为 - / 或空):/^(?:(?:1[6-9]|[2-9][0-9])[0-9]{2}([-/.]?)(?:(?:0?[1-9]|1[0-2])(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])(?:29|30)|(?:0?[13578]|1[02])(?:31))|(?:(?:1[6-9]|[2-9][0-9])(?:0[48]|[2468][048]|[13579][26])|(?:16|[2468][048]|[3579][26])00)([-/.]?)0?2(?:29))$/

编程相关

  • 16进制颜色:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/

  • 提取网页颜色代码:/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/

  • 视频链接地址:/^https?://(.+/)+.+(.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4))$/i

  • 图片链接地址:/^https?://(.+/)+.+(.(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif))$/i

  • mac 地址:/^((([a-f0-9]{2}:){5})|(([a-f0-9]{2}-){5}))[a-f0-9]{2}$/i

  • 子网掩码:/^((?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d))$/

  • 文件扩展名效验:/^([a-zA-Z]\:|\\)\\([^\\]+\\)*[^\/:*?"|]+\.txt(l)?$/

  • java包名(x.x.x):/^([a-zA-Z_]w*)+([.][a-zA-Z_]w*)+$/

  • xml文件:/^([a-zA-Z]+-?)+[a-zA-Z0-9]+\.[x|X][m|M][l|L]$/

  • html 注释:/<!--[sS]*?-->/g

  • html 标签1:/]*>(.*?)?/

  • html 标签2:/]*>.*?>|<.></.>/

  • 首尾空白字符:/^s*|s*$/

  • 查找CSS属性:/^\s*[a-zA-Z\-]+\s*[:]{1}\s[a-zA-Z0-9\s.#]+[;]{1}/

  • 提取页面超链接:/(<a>]*)(href="https?:\/\/)((?!(?:(?:www\.)?'.implode('|(?:www\.)?', $follow_list).'))[^" rel="external nofollow" ]+)"((?!.*\brel=)[^>]*)(?:[^>]*)>/</a>

  • 提取网页图片:/\]*[src] *= *[\"\']{0,1}([^\"\'\ >]*)/

  • 迅雷链接:/^thunder://[a-zA-Z0-9]+=$/

  • ed2k链接:/^ed2k://|file|.+|/$/

  • linux"文件"路径:/^/(w+/)+w+.w+$/

  • window下"文件"路径:/^[a-zA-Z]:\(?:w+\)*w+.w+$/

生活相关

  • 金额(宽松,可为负、首位可为0,支持千分位分隔):/^-?d+(,d{3})*(.d{1,2})?$/

  • 金额(大于 0 ,两位小数):/(^[1-9]{1}[0-9]*$)|(^[0-9]*.[0-9]{2}$)/

  • 金额(严格,不为负、小数点后最多两位,首位不为0):/(^[1-9]([0-9]+)?(.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9].[0-9]([0-9])?$)/

  • 护照:/(^[EeKkGgDdSsPpHh]d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))d{7}$)/

  • 香港身份证:/^[a-zA-Z]d{6}([dA])$/

  • 澳门身份证:/^[1|5|7]d{6}(d)$/

  • 湾湾身份证:/^[a-zA-Z][0-9]{9}$/

  • 股票代码:/^(s[hz]|S[HZ])(000[d]{3}|002[d]{3}|300[d]{3}|600[d]{3}|60[d]{4})$/

  • 不含 abc 的单词:/((?!abc)w)+/

  • 100.未完待续 ......


小结:

本篇浅浅的整理了一波正则,其中很多本瓜也是边看边学,借助  jex.im/regulex/,太棒了!

如果有补充的,欢迎评论留言,或者有发现错误的,欢迎提出来,马上订正。希望能对你的正则学习、使用有所帮助哈~

原文地址:https://juejin.cn/post/7119242343798013959

更多编程相关知识,请访问:编程教学!!

相关文章

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Golang 测试体系与代码质量保障:工程级可靠性建设
Golang 测试体系与代码质量保障:工程级可靠性建设

Go语言测试体系与代码质量保障聚焦于构建工程级可靠性系统。本专题深入解析Go的测试工具链(如go test)、单元测试、集成测试及端到端测试实践,结合代码覆盖率分析、静态代码扫描(如go vet)和动态分析工具,建立全链路质量监控机制。通过自动化测试框架、持续集成(CI)流水线配置及代码审查规范,实现测试用例管理、缺陷追踪与质量门禁控制,确保代码健壮性与可维护性,为高可靠性工程系统提供质量保障。

6

2026.02.28

Golang 工程化架构设计:可维护与可演进系统构建
Golang 工程化架构设计:可维护与可演进系统构建

Go语言工程化架构设计专注于构建高可维护性、可演进的企业级系统。本专题深入探讨Go项目的目录结构设计、模块划分、依赖管理等核心架构原则,涵盖微服务架构、领域驱动设计(DDD)在Go中的实践应用。通过实战案例解析接口抽象、错误处理、配置管理、日志监控等关键工程化技术,帮助开发者掌握构建稳定、可扩展Go应用的最佳实践方法。

6

2026.02.28

Golang 性能分析与运行时机制:构建高性能程序
Golang 性能分析与运行时机制:构建高性能程序

Go语言以其高效的并发模型和优异的性能表现广泛应用于高并发、高性能场景。其运行时机制包括 Goroutine 调度、内存管理、垃圾回收等方面,深入理解这些机制有助于编写更高效稳定的程序。本专题将系统讲解 Golang 的性能分析工具使用、常见性能瓶颈定位及优化策略,并结合实际案例剖析 Go 程序的运行时行为,帮助开发者掌握构建高性能应用的关键技能。

8

2026.02.28

Golang 并发编程模型与工程实践:从语言特性到系统性能
Golang 并发编程模型与工程实践:从语言特性到系统性能

本专题系统讲解 Golang 并发编程模型,从语言级特性出发,深入理解 goroutine、channel 与调度机制。结合工程实践,分析并发设计模式、性能瓶颈与资源控制策略,帮助将并发能力有效转化为稳定、可扩展的系统性能优势。

14

2026.02.27

Golang 高级特性与最佳实践:提升代码艺术
Golang 高级特性与最佳实践:提升代码艺术

本专题深入剖析 Golang 的高级特性与工程级最佳实践,涵盖并发模型、内存管理、接口设计与错误处理策略。通过真实场景与代码对比,引导从“可运行”走向“高质量”,帮助构建高性能、可扩展、易维护的优雅 Go 代码体系。

17

2026.02.27

Golang 测试与调试专题:确保代码可靠性
Golang 测试与调试专题:确保代码可靠性

本专题聚焦 Golang 的测试与调试体系,系统讲解单元测试、表驱动测试、基准测试与覆盖率分析方法,并深入剖析调试工具与常见问题定位思路。通过实践示例,引导建立可验证、可回归的工程习惯,从而持续提升代码可靠性与可维护性。

2

2026.02.27

漫蛙app官网链接入口
漫蛙app官网链接入口

漫蛙App官网提供多条稳定入口,包括 https://manwa.me、https

130

2026.02.27

deepseek在线提问
deepseek在线提问

本合集汇总了DeepSeek在线提问技巧与免登录使用入口,助你快速上手AI对话、写作、分析等功能。阅读专题下面的文章了解更多详细内容。

8

2026.02.27

AO3官网直接进入
AO3官网直接进入

AO3官网最新入口合集,汇总2026年可用官方及镜像链接,助你快速稳定访问Archive of Our Own平台。阅读专题下面的文章了解更多详细内容。

208

2026.02.27

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
AngularJS教程
AngularJS教程

共24课时 | 3.9万人学习

【李炎恢】ThinkPHP8.x 后端框架课程
【李炎恢】ThinkPHP8.x 后端框架课程

共50课时 | 4.7万人学习

Swoft2.x速学之http api篇课程
Swoft2.x速学之http api篇课程

共16课时 | 1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号