/---(?:(?!---).)*---/g

11.2 例子
密码验证
/^(?=.*d)(?=.*[a-z])(?=.*[A-Z])(?=.*[a-zA-Z]).{8,}$/

零宽断言可用于验证多个条件。
带引号的字符串
/(['"])(?:(?!1).)*1/g

如果没有先行断言,我们最多只能做到这样:
/(['"])[^'"]*1/g

12 进阶例子
JavaScript 注释
//*[sS]*?*/|//.*/g

[sS]是一种匹配任何字符(包括换行符)的技巧。我们避免使用dot-all 修饰符,因为我们需要使用. 表示单行注释。
24小时时间
/^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?$/g

IP 地址
/b(?:(?:2(?:[0-4][0-9]|5[0-5])|[0-1]?[0-9]?[0-9]).){3}(?:(?:2([0-4][0-9]|5[0-5])|[0-1]?[0-9]?[0-9]))b/g

元标签
/<Example source="(.*?)" flags="(.*?)">/gm

替换: <Example regex={/$1/$2}>
浮点数
可选符号
可选整数部分
可选小数部分
可选指数部分
/^([+-]?(?=.d|d)(?:d+)?(?:.?d*))(?:[eE]([+-]?d+))?$/g

正向的先行断言 (?=.d|d) 确保不会匹配 ..
HSL颜色
从0到360的整数
/^0*(?:360|3[0-5]d|[12]?d?d)$/g

百分比
/^(?:100(?:.0+)?|d?d(?:.d+)?)%$/g

HSL 和 百分比
/^hsl(s*0*(?:360|3[0-5]d|[12]?d?d)s*(?:,s*0*(?:100(?:.0+)?|d?d(?:.d+)?)%s*){2})$/gi









