Arti-Jack
@Arti-Jack

Как перевести регулярное выражение?

Только начал разбираться с регулярными выражениями. Никак не могу понять следующие:
"(?<=[\\-+*/=()])|(?=[()\\-+*/=])"

Заранее благодарю за понимание.
  • Вопрос задан
  • 185 просмотров
Пригласить эксперта
Ответы на вопрос 1
qork
@qork
{ background: #F00B42 }
[\\-+*/=()] и [()\\-+*/=] - группы символов.

Look-ahead & Look-behind Zero-Width Assertions (опережающие и ретроспективные проверки) — это возможность создать свои аналоги $ и ^: они задают условие, которое должно выполнятся или не выполнятся в начале или конце строки, и не являются частью «сматченого» выражения, т.е. не будут заменены в preg_replace. Это именно то, что нам нужно для этой задачи.

Look-behind — «смотрит» назад, соответственно ставится в начале регулярного выражения.
Look-ahead — в конце, и «смотрит» вперед.


(?<=pattern) положительное look-behind условие
(?=pattern) положительное look-ahead условие

https://habrahabr.ru/post/159483/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы