Arti-Jack
@Arti-Jack

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

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

Заранее благодарю за понимание.
  • Вопрос задан
  • 187 просмотров
Пригласить эксперта
Ответы на вопрос 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/
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Wanted. Санкт-Петербург
До 450 000 ₽
Wanted. Санкт-Петербург
До 100 000 ₽
Wanted. Санкт-Петербург
До 120 000 ₽
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час
21 нояб. 2024, в 21:42
100000 руб./за проект