JavaScript 正则表达式速查表
正则表达式速查表
JavaScript 正则表达式速查表
普通字符
| 表达式 | 说明 |
|---|---|
. 或 [^\n\r] |
任意字符,不包括换行符或回车符 |
[A-Za-z] |
字母 |
[a-z] |
小写字母 |
[A-Z] |
大写字母 |
\d 或 [0-9] |
数字 |
\D 或 [^0-9] |
非数字 |
_ |
下划线 |
\w 或 [A-Za-z0-9_] |
字母、数字或下划线 |
\W 或 [^A-Za-z0-9_] |
\w 的反义,即非字母、数字或下划线 |
\S |
\s 的反义,即非空白字符 |
空白字符
| 表达式 | 说明 |
|---|---|
| (空格) | 空格 |
\t |
制表符(Tab) |
\n |
换行符 |
\r |
回车符 |
\s |
空格、制表符、换行符或回车符 |
字符集
| 表达式 | 说明 |
|---|---|
[xyz] |
匹配 x、y 或 z 中的任意一个 |
[^xyz] |
匹配除 x、y、z 之外的任意字符 |
[1-3] |
匹配 1、2 或 3 中的任意一个 |
[^1-3] |
匹配除 1、2、3 之外的任意字符 |
- 字符集可视为方括号内单个字符的“或”操作。
- 在开头的
[后使用^表示取反,即匹配不在字符集内的字符。 - 字符集中,
.表示字面上的句点字符。
需要转义的字符
字符集外
| 表达式 | 说明 |
|---|---|
\. |
句点 |
\^ |
脱字符(插入符号) |
\$ |
美元符号 |
| ` | ` |
\\ |
反斜杠 |
\/ |
斜杠 |
\( |
左圆括号 |
\) |
右圆括号 |
\[ |
左方括号 |
\] |
右方括号 |
\{ |
左花括号 |
\} |
右花括号 |
字符集内
| 表达式 | 说明 |
|---|---|
\\ |
反斜杠 |
\] |
右方括号 |
^仅在紧跟[后时需要转义。-仅在位于两个字母或两个数字之间时需要转义。
量词
| 表达式 | 说明 |
|---|---|
{2} |
恰好出现 2 次 |
{2,} |
至少出现 2 次 |
{2,7} |
出现 2 到 7 次(含 2 和 7) |
* |
出现 0 次或多次 |
+ |
出现 1 次或多次 |
? |
出现 0 次或 1 次 |
- 量词位于被量化表达式的后面。
边界
| 表达式 | 说明 |
|---|---|
^ |
字符串开头 |
$ |
字符串结尾 |
\b |
单词边界 |
- 单词边界匹配规则:
- 字符串开头且第一个字符为
\w。 - 字符串中相邻字符间,前一个为
\w,后一个为\W。 - 字符串结尾且最后一个字符为
\w。
- 字符串开头且第一个字符为
匹配
| 表达式 | 说明 |
|---|---|
| `foo | bar` |
foo(?=bar) |
匹配紧跟 bar 之前的 foo |
foo(?!bar) |
匹配不紧跟 bar 之前的 foo |
(?<=bar)foo |
匹配紧跟在 bar 之后的 foo |
(?<!bar)foo |
匹配不紧跟在 bar 之后的 foo |
分组与捕获
| 表达式 | 说明 |
|---|---|
(foo) |
捕获组;匹配并捕获 foo |
(?:foo) |
非捕获组;匹配 foo,但不捕获 |
(foo)bar\1 |
\1 是对第 1 个捕获组的反向引用;匹配 foobarfoo |
- 捕获组仅在以下方法中有意义:
string.match(regexp)string.matchAll(regexp)string.replace(regexp, callback)
\N表示对第 N 个捕获组的反向引用,捕获组编号从 1 开始。
参考资料与工具
- 标题: JavaScript 正则表达式速查表
- 作者: 星隐
- 创建于 : 2025-10-21 21:23:03
- 更新于 : 2026-01-19 01:58:27
- 链接: https://www.starin.top/post/7140b31adb2c/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。