正则表达式实战代码片段
每位工程师都该收藏的 10 个正则实战模式(2026 手册)
10 个直接复制粘贴的正则模式 + JS/Go/Python 三段代码:中国手机号+身份证、UUID v4/v7、ISO 8601 时间戳、RFC 5322 严格邮箱、CSV 行解析、Base64 探测器、Markdown 链接抽取、SemVer、信用卡 Luhn 预检、密码强度。全部在 Korelyy 正则测试器里用解释树实时跑通。
作者 Korelyy Team
12 min 阅读
1. 速查表:10 个模式 + 逐段讲解
#1 中国移动号码 (2024 精确号段)
/^1(3[0-9]|4[014-9]|5[0-3,5-9]|6[2567]|7[0-8]|8[0-9]|9[0-3,5-9])\d{8}$/
#2 UUID v4
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/
#3 UUID v7
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/
#4 RFC 5322 "严格" 邮箱(可直接上生产)
/^[a-zA-Z0-9_!#$%&'*+/=?`{|}~^.-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,63}$/
#5 ISO 8601 时间戳(带Z或时区偏移)
/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,6})?(Z|[+-]\d{2}:\d{2})$/
#6 语义化版本 SemVer (https://semver.org)
/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/
#7 18 位中国身份证(GB11643-1999 第一阶段正则,校验位单独验证)
/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[0-9Xx]$/
#8 无头部 Base64 块探测器
/^[A-Za-z0-9+/]{4}*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/
#9 抽取 Markdown 链接: group 1 = 显示文本, group 2 = URL
/\[([^\]]+)\]\((https?:\/\/[^)\s]+)\)/g
#10 密码强度 (≥12字符 + 大小写 + 数字 + 特殊)
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]).{12,128}$/2. 反模式:3 个把生产炸了的正则错误
FAQ:常见问题解答
最有用的正则表达式模式有哪些?
热门模式:邮箱验证、电话号码、URL、日期格式、IP地址、十六进制颜色、信用卡、HTML标签。
如何测试正则表达式模式?
使用 Korelyy 的正则测试器,支持实时匹配、高亮显示和分组展示。
我应该使用哪种正则表达式风格?
Web开发使用 JavaScript/ECMAScript——最常见且与 Node.js、浏览器和文本编辑器兼容。