alltools.one
Development
2026-02-19
10 min
alltools.one Team
regexregular-expressionsdevelopmentpatternsvalidation

正则表达式速查表:每个开发者都需要的模式

正则表达式在你学会模式之前感觉像黑魔法。一旦掌握,它们就会成为文本搜索、验证、数据提取和字符串操作中不可或缺的工具。

选择一个模式,粘贴到我们的正则表达式测试器中进行实验,然后根据你的需求进行调整。

核心正则语法

字符类

模式匹配示例
.除换行符外的任意字符a.c 匹配 "abc"、"a1c"
\d任意数字 (0-9)\d{3} 匹配 "123"
\w单词字符(字母、数字、下划线)\w+ 匹配 "hello_1"
\s空白字符\s+ 匹配空格
[abc]a、b 或 c 中的任意一个[aeiou] 匹配元音字母
[^abc]除 a、b、c 以外的任意字符[^0-9] 匹配非数字
[a-z]范围内的任意字符[A-Za-z] 匹配字母

量词

模式含义
*零次或多次
+一次或多次
?零次或一次
{n}恰好 n 次
{n,m}n 到 m 次之间

锚点和分组

模式含义
^字符串开头
$字符串结尾
\b单词边界
(abc)捕获组
(?:abc)非捕获组
a|b或(选择)
(?=abc)正向前瞻

实用模式

邮箱验证

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

URL 匹配

https?:\/\/[\w.-]+(?:\.[a-zA-Z]{2,})(?:\/[\w./?%&=-]*)?

密码强度

至少 8 个字符,一个大写字母,一个小写字母,一个数字,一个特殊字符:

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

生成强密码请使用我们的密码生成器

十六进制颜色码

^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$

使用我们的颜色转换器在不同颜色格式之间转换。

UUID 验证

^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$

使用我们的 UUID 生成器生成有效的 UUID。

正则表达式性能技巧

  1. 尽量精确[a-zA-Z]. 更快
  2. 避免灾难性回溯 — 嵌套量词如 (a+)+ 会导致指数级时间复杂度
  3. 使用非捕获组 — 当你不需要该值时
  4. 锚定你的模式^pattern$ 比未锚定的搜索更快
  5. 使用边界情况测试 — 部署前使用我们的正则表达式测试器

常见问题

*+ 有什么区别?

* 匹配零次或多次出现,+ 要求至少一次。所以 ab*c 匹配 "ac",但 ab+c 不匹配。

如何让正则表达式不区分大小写?

使用 i 标志:JavaScript 中使用 /pattern/i,Python 中使用 re.IGNORECASE

相关资源

Published on 2026-02-19
Regex Cheat Sheet: Patterns Every Developer Needs | alltools.one