正则速查表
常用元字符与标志
🔍 搜索
📁 类别
总类别:7
总模式:51
💡 使用说明
正则表达式是一种强大的文本模式匹配工具。本速查表列出了常用的元字符和标志。
快速提示
- 点击类别快速筛选
- 使用搜索框查找特定模式
- 点击模式可快速复制
- 查看示例了解实际用法
所有模式
基本字符
.匹配除换行符外的任意单个字符
示例:
a.c → abc, a1c, a@c\d匹配任意数字 [0-9]
示例:
\d+ → 123, 456\D匹配任意非数字字符
示例:
\D+ → abc, xyz\w匹配字母、数字、下划线 [A-Za-z0-9_]
示例:
\w+ → hello, user_123\W匹配非字母、数字、下划线的字符
示例:
\W+ → @#$, !!!\s匹配空格、制表符、换行符等
示例:
\s+ → 空格, tab\S匹配非空白字符
示例:
\S+ → hello, 123\t匹配水平制表符(Tab)
示例:
\t → Tab键\n匹配换行符
示例:
\n → 换行\r匹配回车符
示例:
\r → 回车定位符
^匹配字符串或行的开始位置
示例:
^hello → 匹配行首的hello$匹配字符串或行的结束位置
示例:
world$ → 匹配行尾的world\b匹配单词的开始或结束位置
示例:
\bcat\b → cat 但不匹配 catch\B匹配非单词边界位置
示例:
\Bcat\B → catch 中的 cat\A匹配字符串的绝对开始位置
示例:
\Ahello → 字符串开头的hello\Z匹配字符串的绝对结束位置
示例:
world\Z → 字符串结尾的world量词
*匹配前面的模式零次或多次
示例:
a* → "", a, aa, aaa+匹配前面的模式一次或多次
示例:
a+ → a, aa, aaa?匹配前面的模式零次或一次
示例:
a? → "", a{n}匹配前面的模式恰好 n 次
示例:
a{3} → aaa{n,}匹配前面的模式至少 n 次
示例:
a{2,} → aa, aaa, aaaa{n,m}匹配前面的模式 n 到 m 次
示例:
a{2,4} → aa, aaa, aaaa*?非贪婪匹配,尽可能少匹配
示例:
<.*?> → <div> 而非 <div>...</div>+?非贪婪匹配,尽可能少匹配
示例:
a+? → 优先匹配单个a??非贪婪匹配,优先匹配零次
示例:
a?? → 优先匹配空分组与引用
(...)捕获匹配的内容,可用 $1, $2 引用
示例:
(\d{4})-(\d{2}) → $1年$2月(?:...)分组但不捕获,不占用编号
示例:
(?:http|https)://... → 不捕获协议(?<name>...)为捕获组指定名称
示例:
(?<year>\d{4}) → $<year>\1, \2引用前面的捕获组
示例:
(\w)\1 → aa, bb, cc(?=...)匹配后面跟着指定模式的位置
示例:
foo(?=bar) → foo (仅当后面是bar)(?!...)匹配后面不跟指定模式的位置
示例:
foo(?!bar) → foo (后面不是bar)(?<=...)匹配前面是指定模式的位置
示例:
(?<=@)\w+ → 匹配@后的单词(?<!...)匹配前面不是指定模式的位置
示例:
(?<!@)\w+ → 匹配非@后的单词字符类
[abc]匹配方括号中的任意一个字符
示例:
[aeiou] → a, e, i, o, u[^abc]匹配不在方括号中的任意字符
示例:
[^0-9] → 非数字字符[a-z]匹配指定范围内的字符
示例:
[a-z] → 小写字母[A-Z]匹配大写字母
示例:
[A-Z]+ → ABC, XYZ[0-9]匹配 0 到 9 的数字
示例:
[0-9]+ → 123, 456[a-zA-Z]匹配大小写字母
示例:
[a-zA-Z]+ → Hello[a-zA-Z0-9]匹配字母和数字
示例:
[a-zA-Z0-9]+ → abc123特殊字符
|匹配左侧或右侧的模式
示例:
cat|dog → cat 或 dog\转义特殊字符为字面量
示例:
\. → 字面量点号\x{...}匹配指定的 Unicode 字符
示例:
\x{4e2d} → 中\u{...}Unicode 码点表示
示例:
\u{1F600} → 😀[\b]匹配退格字符(注意与\b区别)
示例:
[\b] → 退格标志
g全局匹配,查找所有匹配项
示例:
/a/g → 找到所有ai不区分大小写
示例:
/abc/i → ABC, abcm多行模式,^和$匹配行首行尾
示例:
/^hello/m → 每行开头的hellos点号匹配所有字符(包括换行符)
示例:
/a.b/s → a\nbuUnicode 模式
示例:
/\u{1F600}/u → 😀y粘性匹配,从 lastIndex 位置开始
示例:
/a/y → 从指定位置匹配