Как ограничение границы слова работает с пустой строкой в ​​конце? [дубликат]Javascript

Форум по Javascript
Ответить
Anonymous
 Как ограничение границы слова работает с пустой строкой в ​​конце? [дубликат]

Сообщение Anonymous »

Предположительно, каждая строка JavaScript имеет пустую строку в позиции string.length:

Код: Выделить всё

"a".indexOf('', 1); // 1
Итак, регулярное выражение, соответствующее пустым строкам, также соответствует этой «конечной» пустой строке:

Код: Выделить всё

"a".match(/a*/g); // ["a", ""]
Но у меня есть некоторые проблемы с пониманием того, как эта пустая строка адресуется, когда задействовано ограничение правой границы строки:

Код: Выделить всё

"a".match(/a*\b/g); // ["a", ""]
Результат тот же, но почему в этом случае совпадает пустая строка? a* соответствует ему в позиции "a".length === 1, но содержит ли эта позиция последний символ слова, как это должно быть для соответствия конечной строке \b?
Если регулярное выражение равно /a\b/g, совпадение для этой строки будет найдено в позиции 0, а не 1, потому что этот индекс содержит последний символ слова.
Итак, какова логика этого конкретного совпадения?

Подробнее здесь: https://stackoverflow.com/questions/798 ... at-the-end
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»