You need to handle new lines and you don’t need global search, because capturing must stop only before first abc
appearance, so remove m
and g
flag and add singleline flag s
:
const str = `test
abc abc`;
const result = str.match(/.*?(?=abc)/s);
console.log(result);
3
solved javascript regex lookahead why abc match? [closed]