К обсуждениям

RegExp якорь захватывает не весь ввод в Safari Technology Preview 251: тест buffer boundaries

Редакция VOne Технологии

RegExp якорь захватывает не весь ввод в Safari Technology Preview 251: тест buffer boundaries. Практическая проверка Safari Technology Preview 251: таблица «pattern × flags × входная строка × match index × ожидаемая граница», обратимый canary и ясный критерий остановки.

Симптом и граница RegExp Buffer Boundaries proposal

Вопрос здесь один: как проверить regexp buffer boundaries в safari technology preview 251 с multiline вводом. Наблюдаемое расхождение — выражение, рассчитанное на начало или конец всего буфера, совпадает с границей отдельной строки либо трактуется как литерал. Название новой возможности не равно диагнозу: сначала нужны один повторяемый fixture и пара expected/actual. Граница наблюдения записывается как «source value → evaluation → observable state → fresh-source control». Любая другая ошибка остаётся за пределами этого URL.

Два первичных источника для 318415@main

Официальная страница WebKit датирована 26 августа 2026 года, описывает Release 251 и в соответствующей строке называет RegExp Buffer Boundaries proposal. Эта строка ссылается на 318415@main, первичную запись изменения в репозитории WebKit. Это подтверждает границу функции в Technology Preview, но не подтверждает ни конкретный сбой сайта, ни поведение stable Safari. Поисковый сниппет и community reply в этот слой доказательств не входят.

Поля контроля: таблица «pattern × flags × входная строка × match index × ожидаемая граница»

Базовый набор для этой задачи: исходный pattern, флаги u или v и m, многострочный fixture, список matches и контроль с прежними якорями. Поле «исходный pattern»: пометьте observed или unknown; его значение не подменяет соседнюю колонку. Поле «флаги u или v»: повторите после отката; его значение не подменяет соседнюю колонку. Поле «m»: не восстанавливайте по памяти; его значение не подменяет соседнюю колонку. Поле «многострочный fixture»: снимите до опыта; его значение не подменяет соседнюю колонку. Поле «список matches»: сопоставьте с контролем; его значение не подменяет соседнюю колонку. Поле «контроль с прежними якорями»: пометьте observed или unknown; его значение не подменяет соседнюю колонку. Время, точная сборка и одинаковый fixture нужны для повтора, но имена, IP, cookie, токены, полные URL с query и содержимое рабочих данных не собираются.

Обратимый опыт для RegExp Buffer Boundaries proposal

Одиночный canary: на фиксированном неперсональном тексте сравнить границы всего буфера с ^ и $ при включённом multiline, затем вернуть прежний pattern. До воздействия запишите исходную строку, после — только заранее выбранные поля, затем верните исходное состояние и повторите то же наблюдение. Fixture должен содержать начало буфера, внутренний перевод строки и конец буфера. Список match indices важнее одного boolean. Сравнение с ^ и $ при multiline показывает различие между границей всей строки данных и границей отдельной текстовой линии. Неоднозначный результат не расширяет эксперимент: он получает статус unknown.

Как принять решение: таблица «pattern × flags × входная строка × match index × ожидаемая граница»

Практический итог — таблица «pattern × flags × входная строка × match index × ожидаемая граница». Заполните в нём все предусмотренные поля. Если вход не принят, отметьте unsupported и сохраните прежний fallback. Если функция доступна, но боль «выражение, рассчитанное на начало или конец всего буфера, совпадает с границей отдельной строки либо трактуется как литерал» не повторилась, результат равен not reproduced только для этого fixture. Локальное повторение после единственного изменения и успешный возврат дают reproduced. Неудачный возврат — stopped, а не предлог менять ещё одну переменную.

Красная линия и минимальный report 318415@main

Стоп-линия: не заменять регулярное выражение в валидации данных до тестов на пустой ввод, Unicode и переносы строк. Для поддержки достаточно точной версии Technology Preview 251, коротких expected/actual, минимального fixture, шага возврата, таблица «pattern × flags × входная строка × match index × ожидаемая граница» и ссылки на 318415@main. Перед передачей удалите локальные пути, дампы профиля, идентификаторы и любой реальный контент. Отчёт не обещает исправление и не переносит вывод на stable Safari.

Материал подготовлен редакцией VOne с помощью ИИ; границы фактов, дата, первичный WebKit commit, стоп-линия и роль community lead постатейно проверены 29 августа 2026 года.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.