flags标志
g
i
m
s
u
默认使用UTF-16编码匹配字符,而flag:u,通过码点值匹配字符。
关键点对于基本平面的字符,UTF-16编码和码点值是一样的。但是增补平面的字符,UTF-16编码和码点值不一样。
例子
//"a你Aa"
const regUnicode = /\u{2F804}\u0041/gu; //使用码点值匹配:"你A"
const reg = /\uD87E\uDC04\u0041/g; //使用utf-16编码匹配:"你A"
y
sticky:粘住、黏住的意思。
只会尝试从lastIndex设置的位置处,尝试匹配,不会像全局匹配,匹配不成功会跳到下一个位置。
关键点同时使用flag:yg,会忽略g。
d
indices:匹配区间。
正则表达式在执行结束,会返回匹配到的字符串的位置区间。
var str = '#foo#';
var regex = /foo/d;
console.log(regex.exec(str));