«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Можем ли мы добиться истинного просмотра переменной длины в регулярных выражениях?

Можем ли мы добиться истинного просмотра переменной длины в регулярных выражениях?

Опубликовано 15 ноября 2024 г.
Просматривать:452

 Can We Achieve True Variable-Length Lookbehind in Regular Expressions?

Альтернативы утверждений просмотра назад переменной длины для регулярных выражений

Утверждения просмотра назад переменной длины в регулярных выражениях, обозначаемые (?

Python с модулем регулярных выражений

Модуль регулярных выражений Python предлагает поддержку утверждений просмотра назад переменной длины.

import regex

m = regex.search('(?<!foo.*)bar', 'f00bar')
print(m.group())  # Output: bar

\K Token

Современные регулярные выражения вводят токен \K, который гарантирует, что совпадающие символы перед ним не будут включены в совпадение.

s/unchanged-part\Kchanged-part/new-part/x

Ограничения

Хотя \K предоставляет некоторые функции просмотра назад, он не может удалять символы до определенного указывать или использоваться несколько раз в выражении.

Расширенные реализации регулярных выражений

Помимо регулярных выражений для Python, могут существовать другие расширенные реализации регулярных выражений для Perl, Ruby, JavaScript и PHP. Исследование этих альтернатив может предоставить дополнительные возможности для обработки утверждений просмотра назад переменной длины.

Вопросы

  • Может ли эффект \K быть распространен на определенную точку совпадения?
  • Существуют ли какие-либо расширенные реализации регулярных выражений для Perl, Ruby, JavaScript или PHP, которые поддерживают утверждения просмотра назад переменной длины?
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3