Как концепция прогнозирования и прогнозирования поддерживает такую концепцию утверждений нулевой ширины в Regex of Ruby?

Я только что прошел через концепциюZero-Width Assertions из документации. И некоторые быстрые вопросы приходят в мою голову-

почему такое имя?Zero-Width AssertionsКакLook-ahead а такжеlook-behind Концепция поддерживает такиеZero-Width Assertions концепция?Что такое ,,,? "foresight".sub(/(?=s)ight/, 'ee') => "foresight" irb(main):003:0> "foresight".sub(/(? "foresee" irb(main):004:0> "foresight".sub(/(? "foresight"

Может ли кто-нибудь помочь мне здесь понять?

РЕДАКТИРОВАТЬ

Здесь я попробовал два фрагмента один с "Утверждения нулевой ширины " концепции, как показано ниже:

irb(main):002:0> "foresight".sub(/(?!s)ight/, 'ee')
=> "foresee"

а другой безУтверждения нулевой ширины " концепции, как показано ниже:

irb(main):003:0> "foresight".sub(/ight/, 'ee')
=> "foresee"

Оба вышеперечисленных дают одинаковый вывод, теперь внутренне, как обаregexp двигаться самостоятельно для получения результата - не могли бы вы помочь мне визуализировать?

Спасибо

Ответы на вопрос(3)

Ваш ответ на вопрос