JavaScript 正则表达式模式
完整的正则表达式标志参考
修订于 2025 年 7 月
标志可以添加到正则表达式模式中,以修改其行为:
| 标志 | 描述 |
|---|---|
| /d | 执行子字符串匹配(2022 年新增) |
| /g | 执行全局匹配(查找所有匹配项) |
| /i | 执行不区分大小写的匹配 |
| /m | 执行多行匹配 |
| /s | 允许使用点号 (.) 匹配行终止符(2018 年新增) |
| /u | 启用 Unicode 支持(2015 年新增) |
| /v | 升级 /u 标志以更好地支持 Unicode(2025 年新增) |
| /y | 执行"粘性"搜索(2015 年新增) |
另请参阅:
完整字符类参考
修订于 2025 年 7 月
字符类是由方括号 [ ] 括起来的一个或多个字符组成:
| 类 | 描述 |
|---|---|
| [a] | 匹配括号内的字符 |
| [^a] | 匹配括号外的所有字符 |
| [abc] | 匹配括号内的所有字符 |
| [^abc] | 匹配括号外的所有字符 |
| [a-z] | 匹配从 a 到 z 的所有字符 |
| [^a-z] | 匹配所有不在 a 到 z 范围内的字符 |
| [0-9] | 匹配所有在 0 到 9 范围内的字符 |
| [^0-9] | 匹配所有不在 0 到 9 范围内的字符 |
另请参阅:
完整元角色参考
修订于2025年7月
元角色是具有特殊含义的角色:
| a|b | 匹配 a 或 b |
| ." | 匹配除换行符外的任何(通配符)字符 |
| \w | 匹配单词字符(字母、数字和下划线) |
| \W | 匹配非单词字符 |
| \d | 匹配数字(0-9) |
| \D | 匹配非数字字符 |
| \s | 匹配空白字符(空格、制表符、换行符) |
| \S | 匹配非空白字符 |
| [\b] | 匹配退格字符 |
| \0 | 匹配空字符 |
| 匹配换行符 | |
| \f | 匹配换页符 |
| 匹配回车符 | |
| 匹配制表符 | |
| \v | 匹配垂直制表符 |
| \p{} | 匹配具有给定 Unicode 属性的字符(2018 年新增) |
| \P{} | 匹配不具有给定 Unicode 属性的字符(2018 年新增) |
| \ddd | 匹配八进制数 ddd 的字符 |
| \xhh | 匹配十六进制数 hh 的字符 |
| \uhhhh | 匹配十六进制数 hhhh 的 Unicode 字符 |
另请参阅:
RexExp 断言完整参考
修订于 2025 年 7 月
断言由边界和环视组成。
边界匹配行或单词的开头或结尾,环视匹配先前或后续的模式。
| 字符 | 描述 |
|---|---|
| ^ | 匹配字符串开头,如果设置了 m(多行)标志,则匹配行开头 |
| $ | 匹配字符串结尾,如果设置了 m(多行)标志,则匹配行尾 |
| \b | 匹配单词的开头或结尾 |
| \B | 匹配单词开头或结尾以外的字符 |
| (?=...) | 匹配后续字符串 |
| (?!...) | 不匹配后续字符串 |
| (?<=...) | 匹配前一个字符串(2018 年新增) |
| (?<!...) | 不匹配前一个字符串(2018 年新增) |
另请参阅:
正则表达式量词
量词指示要匹配的字符或表达式的数量:
| 代码 | 描述 |
|---|---|
| x+ | 匹配至少一个 x |
| x* | 匹配零个或多个 x |
| x? | 匹配零个或一个 x |
| x{n} | 匹配 x 出现 n 次 |
| x{n,m} | 匹配 x 出现 n 到 m 次 |
| x{n,} | 匹配 x 出现 n 次或更多次 |
