返回主页

正则速查表

JavaScript 正则语法速查,按类别分组并可搜索

53 条
字符类Character classes
.

除换行符外的任意字符

a.c → abc

\d

数字 0–9

\d+ → 2026

\D

非数字字符

\w

字母、数字或下划线

\w+

\W

非单词字符

\s

空白字符(空格、制表、换行)

\S

非空白字符

[abc]

方括号中的任意一个字符

[aeiou]

[^abc]

不在方括号中的任意字符

[a-z]

字符范围

[A-Z0-9]

\p{L}

某个 Unicode 类别(需 u 标志)

\p{Script=Han}

\P{L}

不属于该 Unicode 类别

\P{L}+

量词Quantifiers
*

前一项出现 0 次或多次

+

前一项出现 1 次或多次

?

前一项出现 0 次或 1 次

{n}

恰好出现 n 次

\d{4}

{n,}

至少出现 n 次

{n,m}

出现 n 到 m 次

*?

任意量词后加 ? 即懒惰匹配,尽可能少地匹配

<.+?>

位置Anchors
^

字符串开头(m 标志下为行首)

$

字符串结尾(m 标志下为行尾)

\b

单词边界

\bcat\b

\B

非单词边界

分组与引用Groups and backreferences
(abc)

捕获分组,可用 $1 或 \1 引用

(\d{4})-(\d{2})

(?:abc)

非捕获分组,只做分组不保存

(?<name>abc)

具名捕获分组

(?<year>\d{4})

a|b

或,匹配其中任意一个

cat|dog

\1 \2

反向引用前面的捕获分组

(\w)\1

\k<name>

引用具名分组

断言Lookaround
(?=abc)

正向肯定断言:后面必须跟着 abc

\d+(?= 元)

(?!abc)

正向否定断言:后面不能是 abc

(?<=abc)

反向肯定断言:前面必须是 abc

(?<=\$)\d+

(?<!abc)

反向否定断言:前面不能是 abc

转义Escapes
\n

换行符

\t

制表符

\r

回车符

\f

换页符

\v

垂直制表符

\0

空字符(NUL)

\cX

控制字符,X 为对应字母

\\

反斜杠本身

\.

转义元字符,匹配字面点号

\u4E2D

按码点匹配一个字符

\u{1F600}

按码点匹配,超过 U+FFFF 需 u 标志

\u{1F600}

\x41

按十六进制匹配一个字符

标志Flags
g

全局匹配,找出所有结果

i

忽略大小写

m

多行模式,^ 和 $ 匹配行首行尾

s

让 . 也能匹配换行符

u

按 Unicode 码点处理

v

Unicode 集合模式,支持集合运算(与 u 互斥)

[\p{L}--[aeiou]]

y

粘性匹配,只从上次结束处继续

d

记录每个匹配的位置信息

语法按 JavaScript(ECMAScript)正则整理。断言、\p{...} 与 v 标志需要较新的浏览器;点击右侧按钮可复制语法。