Я хотел бы знать, что определение для утверждения в контексте регулярных выражений. Если кто-то должен знать, пожалуйста, просветите меня кратким определением того, что это на самом деле. Я также был бы признателен за один или два примера таких.
1 ответ
Что такое утверждение регулярного выражения?
Утверждение - это регулярное выражение, которое либо успешно (если совпадение найдено), либо не выполнено (если совпадение не найдено).
Они состоят из якорей и Lookarounds.
Якоря
Якорь - это утверждение нулевой ширины. Они не заставляют движок продвигаться по строке или потреблять символы и могут быть одним из следующих:
^
- Совпадение должно начинаться с начала строки или строки.
$
- Соответствие должно происходить в конце строки или перед \n в конце строки или строки.
\A
- совпадение должно происходить в начале строки.
\Z
- совпадение должно происходить в конце строки или перед \n в конце строки.
\z
- совпадение должно происходить в конце строки.
\G
- Совпадение должно происходить в том месте, где закончился предыдущий матч.
\b
- Матч должен происходить на границе между\w
(буквенно - цифровым) и\W
(буквенно - цифровым) характером.
\B
- совпадение не должно происходить на границе\b
.
Исходный язык регулярных выражений - краткий справочник
Lookarounds
Lookahead и lookbehind, в совокупности называемые "lookaround", являются утверждениями нулевой длины, такими же, как начало и конец строки, а также начало и конец якорей слова.
Разница в том, что lookaround фактически совпадает с символами, но затем бросает совпадение, возвращая только результат: совпадение или отсутствие совпадения. Вот почему они называются "утверждениями". Они не потребляют символы в строке, а только утверждают, возможно ли совпадение или нет.
Lookaround позволяет вам создавать регулярные выражения, которые невозможно создать без них, или которые стали бы очень длинными без них.
Source Lookahead и Lookbehind Утверждения нулевой длины
Освоение источника Lookahead и Lookbehind