正则速查表

完整的正则表达式语法速查手册,包含元字符、字符类、量词、锚点、分组、断言、标志和常用模式。

1. 元字符

字符含义示例
.匹配任意字符(除换行)a.c → abc, axc
\转义字符\. → 字符 .
|cat|dog → cat 或 dog
[...]字符集[aeiou] → 元音
[^...]否定字符集[^0-9] → 非数字
-范围[a-z] → 小写字母

2. 字符类

语法含义等价
\d数字[0-9]
\D非数字[^0-9]
\w字母数字下划线[A-Za-z0-9_]
\W非字母数字下划线[^A-Za-z0-9_]
\s空白字符[\t\n\r\f\v ]
\S非空白[^\s]
\b单词边界
\B非单词边界

3. 量词

语法含义示例
*0 次或多次ab* → a, ab, abbb
+1 次或多次ab+ → ab, abbb
?0 次或 1 次ab? → a, ab
{n}正好 n 次ab{2} → abb
{n,}至少 n 次ab{2,} → abb, abbb
{n,m}n 到 m 次ab{1,3} → ab, abb, abbb
*?非贪婪(最少匹配)ab*? → a
+?非贪婪ab+? → ab

4. 锚点

语法含义示例
^字符串开头^Hello → 以 Hello 开头
$字符串结尾world$ → 以 world 结尾
\b单词边界\bword\b → 完整单词
\B非单词边界\Bword → 单词中的 word

5. 分组与断言

语法含义示例
(...)捕获组(\d+)-(\d+) → 两组数字
(?:...)非捕获组(?:ab)+ → 不捕获
(?=...)正向先行断言\d+(?=元) → 后面是「元」的数字
(?!...)负向先行断言\d+(?!元) → 后面不是「元」的数字
(?<=...)正向后行断言(?<=¥)\d+ → 前面是「¥」的数字
(?<!...)负向后行断言(?<!¥)\d+ → 前面不是「¥」的数字
\1 \2反向引用(\w)\1 → 重复字符如 aa

6. 标志(Flags)

标志名称含义
gglobal全局匹配所有
iignoreCase忽略大小写
mmultiline多行模式,^ $ 匹配每行
sdotAll. 匹配换行符
uunicodeUnicode 模式
ysticky粘性匹配,从 lastIndex 开始

7. 常用模式

用途正则
邮箱[\w.+-]+@[\w.-]+\.\w+
URLhttps?://[\w./?=&%#:+;@~-]+
手机号1[3-9]\d{9}
身份证号[1-9]\d{16}[\dXx]
IPv4(?:\d{1,3}\.){3}\d{1,3}
整数-?\d+
小数-?\d+\.\d+
日期\d{4}-\d{1,2}-\d{1,2}
时间\d{1,2}:\d{2}(:\d{2})?
邮编\d{6}
中文[\u4e00-\u9fa5]+
HEX 颜色#[0-9a-fA-F]{6}

关于 正则速查表 工具

正则表达式速查表是开发者查阅正则语法的便捷参考手册,包含元字符、字符类、量词、锚点、分组、断言、标志和常用模式。结合在线正则测试工具使用效果更佳。

什么是正则表达式?

正则表达式(Regular Expression,简称 regex 或 regexp)是一种用于描述字符串模式的语法。它由元字符、字符类、量词等组成,能高效地匹配、查找、替换和提取文本。

学习建议

  1. 从基础元字符 .、\d、\w、\s 开始。
  2. 掌握量词 *、+、?、{n,m}。
  3. 学习字符集 [abc]、范围 [a-z]。
  4. 理解分组 () 和反向引用。
  5. 练习常用模式:邮箱、URL、手机号。
  6. 结合在线测试工具验证。

常见问题 FAQ

Q:如何快速学习正则?

A:从常用元字符、字符类、量词入手,多练习常用模式(邮箱、URL、手机号),结合速查表查阅。

Q:不同语言的正则有差异吗?

A:JavaScript、Python、Java 等的正则语法基本一致,个别特性(如命名捕获组、后向引用)支持略有不同。