正则表达式的特殊字符的完整列表和描述

221 阅读3分钟

下面的表格列出了一个正则表达式中特殊字符的完整列表和描述

基本的元字符

元字符说明
.匹配任意单个字符
|逻辑或操作符
[]匹配字符集合中的一个字符
[^]对字符集合求非
-定义一个区间(例如[A-Z])
\对下一个字符转义

数量元字符

元字符说明
*匹配前一个字符(子表达式)的零次或多次重复
*?* 的懒惰型版本
+匹配前一个字符(子表达式)的一次或者多次重复
+?+ 的懒惰型版本
?匹配前一个字符(子表达式)的零次或者一次重复
{n}匹配前一个字符(子表达式)的n次重复
{m, n}匹配前一个字符(子表达式)至少m次且至多n次重复
{n, }匹配前一个字符(子表达式)n次或者更多次重复
{n, }?{n, } 的懒惰型版本

位置元字符

元字符说明
^匹配字符串的开头
\A匹配字符串的开头
$匹配字符串的结束
\z匹配字符串的结束
\<匹配单词的开头
\>匹配单词的结束
\b匹配单词边界(开头和结束)
\B\b 的反义

特殊字符元字符

元字符说明
[\b]退格字符
\c匹配一个控制字符
\d匹配任意数字字符
\D\d 的反义
\f换页符
\n换行符
\r回车符
\s匹配一个空白字符
\S\s 的反义
\t制表符(Tab字符)
v垂直制表符
\w匹配任意字母数字字符或下划线字符
\W\w的反义
\x匹配一个十六进制数字
\0匹配一个八进制数字

回溯引用和前后查找

元字符说明
()定义一个子表达式
\1匹配第1个子表达式;\2代表第2个子表达式,依次类推
?=向前查找
?<=向后查找
?!负向前查找
?<!负向后查找
?()条件(if then)
?()|条件(if then else)

大小写转换

元字符说明
\E结束 \L 或者 \U 转换
\l把下一个字符转换为小写
\L把后面的字符转换为小写,直到遇见 \E 为止
\u把下一个字符转换为大写
\U把后面的字符转换为大写,直到遇见 \E 为止

匹配模式

元字符说明
(?m)分行匹配模式

修饰符(标记)

正则表达式有六个可选参数 (flags) 允许全局和不分大小写搜索等。这些参数既可以单独使用也能以任意顺序一起使用,并且被包含在正则表达式实例中。

修饰符描述
g全局搜索
i不区分大小写搜索。
m多行搜索。
s允许 . 匹配换行符。
u使用 unicode 码的模式进行匹配。
y执行“粘性 (sticky)”搜索,匹配从目标字符串的当前位置开始。

为了在正则表达式中包含标志,请使用以下语法:

const re = /pattern/flags;

例如:

const re = /a/ig