快速开始
使用正则表达式速查表非常简单,只需三步即可开始:
第一步:打开速查表页面
在UD5工具箱中搜索「正则表达式」或直接访问正则表达式速查表工具页面。页面加载完成后,您将看到按分类组织的正则语法参考内容。
第二步:定位所需语法
根据您的需求,通过分类导航快速跳转到对应的语法板块。速查表将内容分为以下主要板块:元字符、量词、分组语法、零宽断言和常用标志位。
第三步:查阅示例并应用
找到目标语法后,查看其含义说明和匹配示例,直接复制正则模式到您的代码中使用。
按场景快速查阅
场景一:表单验证
当您需要验证用户输入的邮箱、手机号或身份证号时,可在速查表的「实用示例」部分找到对应的正则模式。例如:
- 邮箱验证 — 匹配常见邮箱格式,如
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} - 手机号验证 — 匹配中国大陆手机号
1[3-9]\d{9} - URL验证 — 匹配常见网页链接格式
场景二:数据提取
从大段文本中提取特定信息是正则表达式的经典应用场景:
- 提取HTML标签中的内容 — 使用
<([^>]+)>([^<]*)</\1>匹配标签对及其内容 - 提取日期时间 — 匹配
\d{4}[-/]\d{1,2}[-/]\d{1,2}格式的日期 - 提取IP地址 — 匹配
\b(?:\d{1,3}\.){3}\d{1,3}\b格式的IPv4地址
场景三:文本替换
在编辑器或代码中进行批量文本替换时,正则表达式可以实现复杂的匹配和替换逻辑:
- 将多个连续空格替换为单个空格:
\s+替换为 - 删除字符串中的所有HTML标签:
<[^>]+>替换为空字符串 - 在数字之间添加千位分隔符:使用捕获组和反向引用
进阶使用技巧
理解贪婪与非贪婪匹配
这是正则表达式中最容易出错的概念之一。贪婪模式会尽可能多地匹配字符,而非贪婪模式(通过在量词后添加 ?)则会尽可能少地匹配。例如:
<.+>(贪婪)会匹配从第一个<到最后一个>之间的所有内容<.+?>(非贪婪)会匹配从<到最近的>之间的内容
速查表中对此有详细的对比示例,帮助您直观理解两者的区别。
善用零宽断言
零宽断言是区分正则高手和初学者的关键特性。它允许您匹配一个「位置」而不消耗任何字符,常用于:
- 匹配特定上下文中的内容(如被引号包围的文本)
- 在不改变捕获组的情况下进行条件匹配
- 实现复杂的字符串边界判断
注意编程语言差异
不同编程语言对正则表达式的支持存在差异,速查表中专门标注了以下注意事项:
- JavaScript — 使用
/pattern/flags字面量语法,支持y(粘连)标志 - Python — 使用
re模块,支持r原始字符串语法 - Go — 使用
regexp包,仅支持 RE2 语法(不支持回溯) - Java — 使用
Pattern和Matcher类,字符串需双重转义
常见错误与排查
以下是开发者在使用正则表达式时最常遇到的问题及解决方案:
- 忘记转义特殊字符 — 点号
.、星号*、问号?等需要使用反斜杠转义 - 未考虑边界情况 — 正则模式应覆盖空字符串、超长输入等边界情况
- 过度使用贪婪匹配 — 在不确定输入内容时,优先使用非贪婪模式
- 忽略大小写 — 使用
i标志避免因大小写差异导致匹配失败
推荐学习路径
对于正则表达式初学者,建议按以下顺序学习:
- 先掌握基础元字符(
.、\d、\w、\s)和量词(*、+、?) - 学会使用字符集
[abc]和范围[a-z] - 理解分组和捕获的基本用法
- 通过实际项目练习文本提取和替换
- 逐步掌握零宽断言等高级特性
速查表的内容编排正是按照这一路径设计的,您可以在学习过程中随时查阅对应章节。
UD5工具箱