导图社区 正则表达式
正则表达式:文本处理的万能钥匙!一、基础概念:用模式描述字符串规则,掌握元字符、量词、分组即可入门二、核心语法:从简单匹配到复杂逻辑,精准控制文本三、高级特性:零宽断言等技巧解决棘手问题,注意不同语言引擎差异四、应用场景:格式验证、日志分析、批量替换,覆盖编程语言(Python/Java)、编辑器(VS Code)、数据库(MySQL)等附赠工具:regex101在线调试,regexr可视化学习,助你快速上手!
G1垃圾回收器:高效分代式内存管理的革新者! G1(GarbageFirst)是面向多核大内存的垃圾回收器,通过分区模型(Region)和分代设计实现低延迟。其核心包括内存模型(分区、分代、收集集合CSet)和活动周期:RSet维护、并发标记(初始标记→根扫描→并发标记→重新标记→清除)、混合收集(转移失败触发Full GC)以及年轻代收集(动态调整GC线程)。G1以可预测停顿为目标,平衡吞吐量与响应速度,适合现代Java应用。
"Redis三高架构与新版本黑科技,解锁大厂实战秘籍! 内容亮点: 1. 深度解析Redis高可用(哨兵/Cluster)、高扩展及性能调优核心策略 2 揭秘微博亿级流量下的缓存实践与监控体系化方案 3. 新版本特性全览:多线程IO、Stream类型、ACL安全防护等 4 避坑指南:缓存击穿/雪崩、bigkey、内存碎片等高频问题解决方案 5. 从Redis4到6的演进路径与未来模块化生态展望。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
正则表达式
一、基础概念
定义:正则表达式是由普通字符(如字母、数字)和特殊字符(元字符)组成的字符串模式,用于精确匹配或提取目标文本。
作用:解决文本处理中的共性问题,如格式验证(邮箱、手机号)、内容提取(日志分析)、批量替换(文本编辑)等。
适用场景:几乎所有编程语言(Python、JavaScript、Java等)、文本编辑器(VS Code、Sublime)、数据库(MySQL、PostgreSQL)等。
二、核心语法
三、高级特性
1. 零宽断言(匹配位置,不消耗字符)
用于在目标字符前后附加条件,但不包含在匹配结果中,常见类型:
正向先行断言:(?=pattern) 匹配后面满足pattern的位置。 例如:\d+(?=元) 匹配“100元”中的“100”(后面必须是“元”)。
负向先行断言:(?!pattern) 匹配后面不满足pattern的位置。 例如:\d+(?!元) 匹配“100斤”中的“100”(后面不能是“元”)。
正向后行断言:(?<=pattern) 匹配前面满足pattern的位置(部分语言支持,如Python 3.5+)。 例如:(?<=¥)\d+ 匹配“¥100”中的“100”(前面必须是“¥”)。
负向后行断言:(?<!pattern) 匹配前面不满足pattern的位置。 例如:(?<!¥)\d+ 匹配“$100”中的“100”(前面不能是“¥”)。
2. 其他高级特性
条件匹配:根据分组是否匹配决定后续规则(如(a)?b(?(1)c|d),若a匹配则接c,否则接d)。
递归匹配:用于嵌套结构(如匹配嵌套括号\((?:[^()]+|(?R))*\)),仅部分引擎支持(如Python、PCRE)。
四、应用场景与工具
1. 典型应用
格式验证:验证邮箱(^\w+@[a-zA-Z0-9]+\.[a-zA-Z]{2,}$)、手机号(^1[3-9]\d{9}$)等。
内容提取:从日志中提取IP地址(\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b)。
批量替换:将文本中“2023-xx-xx”替换为“2024-xx-xx”(正则(\d{4})-(\d{2})-(\d{2}),替换为2024-\2-\3)。
语法分析:简单的代码解析(如提取HTML标签<(\w+)>)。
2. 常用工具与引擎
在线测试工具:regex101(支持多语言引擎)、regexr(可视化匹配过程)。
引擎差异:不同语言的正则引擎略有差异(如JavaScript不支持后行断言,Python支持命名分组),需结合具体语言文档。
总结
正则表达式的核心是“用模式描述字符串规则”,掌握元字符、量词、分组等基础语法是关键,高级特性(如零宽断言)可解决复杂场景。实际使用中需注意引擎差异,并通过工具调试验证。