Regex 速查表
可搜索、可打印的正则表达式参考手册——字符类、锚点、量词、分组、环视、标志以及现成的匹配模式。免费。
字符类
12\d
任意数字,等同于 [0-9]
\D
任意非数字字符
\w
单词字符:字母、数字或下划线
\W
任意非单词字符
\s
任意空白(空格、制表符、换行)
\S
任意非空白字符
.
除换行外的任意字符
[abc]
a、b 或 c 中任意一个
[^abc]
除 a、b、c 外的任意字符
[a-z]
范围内任意小写字母
[A-Za-z0-9]
任意字母数字字符
[\d\s]
在方括号内组合字符类
锚点与边界
8^
字符串起始(多行模式下为行首)
$
字符串结尾(多行模式下为行尾)
\b
\w 与 \W 之间的单词边界
\B
非单词边界
\A
整个字符串起始(PCRE)
\z
整个字符串结尾(PCRE)
\Z
字符串结尾,位于尾部换行前(PCRE)
\G
当前匹配尝试的起始(PCRE)
量词
11*
前一标记零次或多次
+
前一标记一次或多次
?
零次或一次(可选)
{n}
恰好 n 次重复
{n,}
n 次或更多重复
{n,m}
n 到 m 次重复
*?
懒惰:零次或多次,尽可能少
+?
懒惰:一次或多次,尽可能少
??
懒惰:可选,优先零次
{2,5}?
懒惰的有界重复
a++
占有:不回溯(PCRE)
分组与反向引用
9(abc)
捕获组,保存匹配内容
(?:abc)
非捕获组
(?<name>abc)
命名捕获组
(?P<name>abc)
命名组,PCRE 备用语法
a|b
选择:匹配 a 或 b
(red|blue)
分组的选择
\1
对捕获组 1 的反向引用
\k<name>
对命名组的反向引用
$1
在替换中引用组 1
环视
6(?=abc)
正向先行:后接 abc
(?!abc)
负向先行:后不接 abc
(?<=abc)
正向后行:前为 abc
(?<!abc)
负向后行:前不为 abc
\d(?=px)
仅当后接 px 时匹配数字
(?<=\$)\d+
仅当前为美元符号时匹配数字
标志与修饰符
10g
全局:查找所有匹配,而非仅第一个
i
不区分大小写匹配
m
多行:^ 和 $ 匹配换行
s
Dotall:. 也匹配换行
u
Unicode 模式(完整码位)
x
扩展:忽略空白,允许注释
y
粘性:从 lastIndex 匹配(JS)
(?i)
内联不区分大小写标志(PCRE)
(?im)
组合内联标志
(?i:abc)
组内作用域的内联标志
转义与特殊字符
11\.
字面点号
\\
字面反斜杠
\/
字面正斜杠(在 /.../ 字面量中)
\t
制表符
\n
换行符(line feed)
\r
回车符
\f
换页符
\0
空字符
\xFF
以两位十六进制码表示字符
\x{00E9}
以十六进制表示 Unicode 码位(PCRE)
\Qabc\E
转义一段字面块(PCRE)
常用标记快捷写法
10[0-9]
单个数字,同 \d
[a-fA-F0-9]
单个十六进制数字
\d+
一个或多个数字(整数)
\w+
一个或多个单词字符
\s+
一个或多个空白字符
.*
任意字符序列(贪婪)
.*?
任意字符序列(懒惰)
[^\s]+
一个或多个非空白字符
\b\w+\b
一个完整单词
(?:\r\n|\n|\r)
任意行结束符
实用模式
10^[\w.+-]+@[\w-]+\.[\w.-]+$
简单邮箱地址
https?:\/\/[^\s]+
HTTP 或 HTTPS URL
\b(?:\d{1,3}\.){3}\d{1,3}\b
IPv4 地址
#?[a-fA-F0-9]{6}\b
六位十六进制颜色
\d{4}-\d{2}-\d{2}
YYYY-MM-DD 格式日期
\+?\d[\d\s-]{7,}\d
电话号码(宽松)
[a-z0-9]+(?:-[a-z0-9]+)*
URL slug(小写、连字符)
^\s+|\s+$
首尾空白(trim)
\s{2,}
两个或更多连续空格
<[^>]+>
一个 HTML 标签(简易)
Unicode 属性
10\p{L}
任意语言的任意字母
\P{L}
任意非字母字符
\p{N}
任意数字字符
\p{Lu}
一个大写字母
\p{Ll}
一个小写字母
\p{P}
任意标点字符
\p{Sc}
一个货币符号
\p{Han}
一个汉字字符
\p{Emoji}
一个表情符号字符(在支持时)
\p{Greek}
一个希腊字母字符
没有条目匹配“:q”。
需要帮助?
使用此工具时遇到问题?请告诉我们的团队。