功能开发中
正则表达式备忘
正则表达式参考和测试器。
正则表达式速查表
基本字符
.- 任意字符^- 行首$- 行尾\d- 数字 [0-9]\w- 单词字符 [a-zA-Z0-9_]\s- 空白字符
量词
*- 0次或多次+- 1次或多次?- 0次或1次{n}- 恰好n次{n,}- 至少n次{n,m}- n到m次
字符类
[abc]- a、b或c[^abc]- 非a、b或c[a-z]- 小写字母[A-Z]- 大写字母[0-9]- 数字\D- 非数字\W- 非单词字符\S- 非空白字符
分组和引用
(...)- 捕获组(?:...)- 非捕获组(?<name>...)- 命名捕获组\n- 第n个捕获组|- 或
标志
g- 全局匹配i- 忽略大小写m- 多行模式s- 点匹配换行符u- Unicodey- 粘性匹配
常用模式
/\b\d{5}(-\d{4})?\b/- 邮政编码/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/- 邮箱/^(\+?\d{1,3}[\s-]?)?\(?\d{3}\)?[\s-]?\d{3}[\s-]?\d{4}$/- 电话号码/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/- URL
实践区域
测试结果
常用正则模式
邮箱验证
/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/
匹配标准邮箱格式
手机号码 (中国)
/^1[3-9]\d{9}$/
匹配中国大陆手机号格式
IP 地址
/^(?:(?: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]?)$/
匹配 IPv4 地址格式
强密码
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
至少8位,包含大小写字母、数字和特殊字符
正则表达式技巧
正则表达式是强大的文本处理工具,掌握它可以大大提高工作效率。
最佳实践:
- 使用非捕获组
(?:...)提高性能 - 使用字符类而非多个选项
[aeiou]而非a|e|i|o|u - 在不需要全局匹配时省略
g标志 - 使用命名捕获组提高可读性
(?<year>\d{4}) - 对于复杂模式,使用
x标志启用自由间距模式
使用教程
- 浏览页面上方的"正则表达式速查表"六大卡片区域快速回顾所需语法知识:
- 进入"实践区域"编写和测试自己的正则表达式:
- 点击蓝色"测试正则表达式"按钮执行匹配
- 查看"测试结果"区域——找到匹配时显示匹配数量和逐项列表;无匹配时显示"未找到匹配项";正则语法错误时显示具体错误原因
- 向下滚动查看"常用正则模式"四个模板卡片:
- 阅读"正则表达式技巧"信息区的五条最佳实践建议优化自己编写的正则性能
使用场景
- 表单前端校验:Web开发者在编写登录/注册表单的JavaScript验证逻辑时用此工具调试用户名/密码/邮箱/手机号的正则规则直到完全匹配预期。
- 日志数据分析:运维人员从Nginx/Apache访问日志中提取特定IP、状态码、URL路径、响应时间等字段时先在本工具中验证正则再用于grep/awk命令。
- IDE搜索替换:程序员在使用VS Code/IntelliJ的全局搜索替换(Ctrl+H)时用此工具构造精确的多行跨文件正则表达式。
- 爬虫数据提取:数据采集工程师编写Python BeautifulSoup或Scrapy的选择器之前用此工具测试HTML/XML标签的解析正则。
- 代码审查规范化:Tech Lead在Code Review中统一团队对变量命名、注释格式、commit message规范的检查正则。
- SQL注入防护:安全开发人员构造检测SQL注入攻击特征的正则表达式(如
union|select|insert|drop等关键词组合)部署到WAF规则库。 - 文本清洗ETL:数据工程师在ELT流程中使用正则去除HTML标签、多余空白、特殊控制字符时先在此验证清洗效果。
- 面试刷题准备:计算机专业应届生准备LeetCode字符串处理题(括号匹配/IP地址还原/数字验证)时用此工具加深对正则语法的理解。
常见问题
Q: 正则表达式备忘和正则表达式测试器有什么区别?应该用哪个?
A: 两者的侧重点不同:备忘(Regex Memo)更像一本"教科书+练习册"——它有系统的语法速查表、精选的现成模板和最佳实践指导,适合学习和查阅;测试器(Regex Tester)像一个"实验室"——它专注于纯粹的匹配和替换测试,界面更简洁有Checkbox开关控制gi m flags。建议学习阶段用备忘,日常高效调试用测试器。
Q: 为什么我的正则匹配不到中文汉字?
A: JavaScript的正则引擎在未启用
u(Unicode)标志时将中文字符视为多个UTF-16编码单元处理导致匹配失败。解决方案:(1)在标志中加入u(如 /[\u4e00-\u9fa5]/u);(2)使用字符范围 [\u4e00-\u9fa5] 匹配CJK统一汉字。(3)ES2018+ 支持 \p{Script=Han} Unicode属性转义(需配合u标志)。本工具的速查表中包含了u标志说明。Q: 常用模板中的邮箱正则为什么那么复杂?
A: 邮箱地址的RFC 5322官方规范极其复杂(允许注释、IP地址域名、Unicode国际化域名等多种边缘情况)。工具中提供的
/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/ 是在实际项目中广泛使用的"实用级"正则——它在99.9%的真实场景中工作良好且保持可读性权衡。若需完全兼容RFC 5322的正则长度超过6000字符不适合人类维护。建议反馈 (可留下联系方式)
0/200
工具名称
正则表达式备忘
所属分类
开发
更新时间
2026-06-24
使用次数
38
工具简介
正则表达式参考和测试器。
功能特性
六大语法卡片:基本字符(6项)、量词(6项)、字符类(8项)、分组引用(5项)、标志(6项)、常用模式(4项)共计35个核心知识点全覆盖。
交互式测试台:独立于速查表的实践区域,支持自定义正则模式、标志和测试文本,点击即执行匹配并高亮展示结果。
智能正则解析:自动识别用户输入的两种写法——裸模式(如
\d+)和完整写法(如/\d+/g),后者自动提取pattern和flags部分。
四大实战模板:邮箱验证RFC 5322兼容正则、中国工信部手机号段正则(
^1[3-9]\d{9}$)、IPv4四段0-255校验正则、强密码四要素复合断言正则。
最佳实践指南:底部信息栏列出五条性能优化和可读性提升的专业技巧(非捕获组优先、字符类替代多选分支、命名捕获组等)。
预填示例数据:测试字符串默认预填包含两个美式电话号码的样例文本,配合默认正则
\d{3}-\d{3}-\d{4}开箱即可体验匹配效果。
暂无收藏工具
收藏工具