🧩
← 返回教程列表

每个开发者都应掌握的 20 个常用正则表达式模式

· 标签: common-regex-patterns, regex-examples, useful-regex, email-regex, url-regex, phone-regex

每个开发者都应掌握的 20 个常用正则表达式模式

正则表达式能解决实际问题:输入校验、数据提取和字符串转换。本指南介绍 20 个即用型正则表达式,覆盖最常见的文本处理任务。每个模式都附有匹配内容的说明。

1. 电子邮件地址

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

本地部分允许字母、数字、点号和特殊字符。域名允许字母、数字和点号。顶级域名必须至少包含两个字母。

2. URL

https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z]{2,}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)

匹配带可选 www、域名、顶级域名、路径和查询字符串的 HTTP/HTTPS URL。

3. 美国电话号码

^\(?(\d{3})\)?[-.\s]?(\d{3})[-.\s]?(\d{4})$

匹配 (555) 123-4567555-123-4567555.123.45675551234567

4. 国际电话号码

^\+?(\d{1,3})\s?[-.\s]?\(?\d{1,4}\)?[-.\s]?\d{1,4}[-.\s]?\d{1,9}$

用于带国家代码的国际号码的宽松模式。

5. 强密码

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$

要求至少 8 个字符,包含一个小写字母、一个大写字母、一个数字和一个特殊字符。使用前瞻断言。

6. 日期(YYYY-MM-DD)

^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$

ISO 8601 格式。月份 01-12,日期 01-31。不校验各月份的天数上限(2 月 30 日也能通过)。

7. 日期(MM/DD/YYYY)

^(0[1-9]|1[0-2])\/(0[1-9]|[12]\d|3[01])\/\d{4}$

带斜杠的美式格式。

8. 时间(HH:MM 24 小时制)

^([01]\d|2[0-3]):[0-5]\d$

小时 00-23,分钟 00-59。

9. IPv4 地址

^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$

四个八位组。如需严格校验(0-255),请将 \d{1,3} 替换为 (25[0-5]|2[0-4]\d|[01]?\d\d?)

10. IPv6 地址

^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$

完整的 IPv6 地址,包含 8 组十六进制数字。不处理 :: 简写。

11. MAC 地址

^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$

以冒号或连字符分隔。

12. 十六进制颜色代码

^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$

3 位(#fff)或 6 位(#ffffff),不区分大小写。

13. 信用卡号

^\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}$

16 位数字,可带可选分隔符。不校验 Luhn 校验和。

14. 美国邮政编码

^\d{5}(-\d{4})?$

1234512345-6789

15. 用户名

^[a-zA-Z0-9_]{3,16}$

3-16 个字符,仅限字母、数字和下划线。

16. URL 别名(slug)

^[a-z0-9-]+$

小写字母、数字和连字符。常见于 CMS 系统中。

17. HTML 标签

<\/?[\w\s]*>|<.+[\w\s]*>

匹配开始标签和结束标签。不适用于嵌套 HTML。

18. 文件扩展名

\.([a-zA-Z]{2,})$

提取不带点号的扩展名。

19. 空白字符规范化

\s+

将多个空格、制表符或换行符折叠为一个。

20. 提取数字

-?\d+(\.\d+)?

整数和小数,包括负数。

性能提示

  • 尽量具体——避免使用可能导致灾难性回溯的 .*
  • 使用 ^$ 进行锚定,以限制搜索范围。
  • 测试边界情况:空字符串、长字符串、特殊字符。

在线测试这些模式

使用正则表达式测试工具来试验这些模式。粘贴任意表达式,输入示例文本,即可实时看到匹配高亮。测试器会显示捕获组,并帮助你在使用前调试模式。

每个开发者都应掌握的 20 个常用正则表达式模式 - CoolTool