正则先行和后行断言
(?=)正向前
bb(?=aa) 查找aa的前面是bb
const expression = /bb(?=aa)/;
expression.test('bbaa'); // true
expression.test('ccaa'); // false
(?<=)正向后
(?<=aa)bb 查找aa后面是bb
const expression = /(?<=aa)bb/;
expression.test('aabb'); // true
expression.test('aabc'); // false
(?!)负向前
cc(?!aa) 查找cc的后面不是aa
const expression = /cc(?!aa)/;
expression.test('ccaa'); // false
expression.test('ccdd'); // true
(?<!) 负向后
(?<!aa)cc 查找cc前面不是aa
const expression = /(?<!aa)cc/;
expression.test('aacc'); // false