肯定的先読み(?=pattern)
from 正規表現の先読みと後読み
(?=pattern)
直後にpatternが続くものに一致する
table:例: foo(?=bar)
bar x
foobar o
afoobara o
barfooba x
ただfoobarと書くのとはどう違う?
直後にbarが続く「fooのみ」に一致している
foobarだと、「foobar全体」に一致している
例えば、.replace()してみると違いが明確
code:js
'XfoobarX'.replace(/foo(?=bar)/g, 'Y') // 'XYbarX'
'XfoobarX'.replace(/foobar/g, 'Y') // 'XYX'