regexp Опережающая (lookahead) и Ретроспективная (lookbehind) проверки, Негативные проверки, отрицаниие последовательности
Primary tabs
Есть два типа проверок:
- Опережающая (lookahead) проверка - проверка части выражения, которая идет после основного
Общий синтаксис:
- Для позитивной опережающей:
ОсновноеЧтоНужно(?=ТоЧтоДолжноБытьПосле)
- Для негативной опережающей:
ОсновноеЧтоНужно(?!ТоЧтоНЕДолжноБытьПосле)
- Для позитивной опережающей:
- Ретроспективная (lookbehind) проверка - проверка части выражения, которая идет перед основным выражением
Общий синтаксис:
- Для позитивной ретроспективной:
(?<=ТоЧтоДолжноБытьПосле)ОсновноеЧтоНужно
- Для негативной опережающей:
(?<!ТоЧтоНЕДолжноБытьПосле)ОсновноеЧтоНужно
- Для позитивной ретроспективной:
Ретроспективная проверка - пример
Задача:
Нужно найти последовательность из четырех чисел перед которыми, находится последовательнось из двух символов #&
Решается регуляркой:
/(?<=#&)\d{4}/
Ретроспективная негативная проверка - пример
Задача:
Нужно найти последовательность из четырех чисел перед которыми, НЕ находится последовательнось из двух символов #&
Решается регуляркой:
/(?<!#&)\d{4}/
- Log in to post comments
- 538 reads