Перейти к основному содержимому
Об авторе
Проекты
Знания
Знания/JavaScript/regexp-groups

Что такое именованные группы захвата и lookahead/lookbehind?

УглублённыйРегулярные выражения
  • Именованные группы: (?<name>pattern) — захватывает совпадение и присваивает имя:
    • '2024-03-15'.match(/(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/)?.groups → { year: '2024', month: '03', day: '15' }
  • Lookahead (заглядывание вперёд):
    1. Positive: (?=pattern) — совпадает, если за текущей позицией следует pattern
    2. Negative: (?!pattern) — совпадает, если за текущей позицией НЕ следует pattern
  • Lookbehind (заглядывание назад):
    1. Positive: (?<=pattern) — совпадает, если перед текущей позицией есть pattern
    2. Negative: (?<!pattern) — совпадает, если перед текущей позицией НЕТ pattern
  • Lookahead и lookbehind не захватывают символы (zero-width assertions)
  • Главная
  • Об авторе
  • Проекты
  • Знания
Логотип nKolmykov