Альтернативное регулярное выражение для отрицательного просмотра назад в JavaScript
В JavaScript утверждения отрицательного просмотра назад не поддерживаются напрямую. Однако есть способы добиться аналогичной функциональности.
Рассмотрим следующее регулярное выражение:
(?Это регулярное выражение соответствует строкам, заканчивающимся на .js кроме имени файла.js. В реализациях регулярных выражений, поддерживающих просмотр назад, это выражение будет работать по назначению.
Альтернатива с использованием отрицательного просмотра вперед
Поскольку в JavaScript нет просмотра назад, мы можем использовать отрицательный просмотр вперед вместо этого:
^(?:(?!filename\.js$).)*\.js$Это выражение явно проверяет каждый символ строки, чтобы убедиться, что утверждение отрицательного просмотра назад (?!filename\.js$) плюс оставшееся регулярное выражение не будут совпадать. Если он не совпадает, допускается совпадение символа.
Упрощенная версия
Для версий JavaScript до ECMAScript 2018 можно использовать следующую упрощенную версию:
^(?!.*filename\.js$).*\.js$Это выражение утверждает, что строка нигде не содержит filename.js и заканчивается на .js.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3