Задать вопрос
trevoga_su
@trevoga_su

Что значит регулярное выражение «//u»?

print_r(preg_split("//u", 'Привет', -1, PREG_SPLIT_NO_EMPTY));

дает результат
Array ( [0] => П [1] => р [2] => и [3] => в [4] => е [5] => т )


Как данное регулярное выражение можно логически "обосновать"/описать? Т.е. просто понять, почему оно так работает?
  • Вопрос задан
  • 1224 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Melkij
@Melkij
DBA для вашего PostgreSQL?
Регулярные выражения - конечный автомат, проверяемый к позиции в строке, смещающий позицию (на конец совпавшего фрагмента или на следующий символ, если совпадения не было) и вновь проверяющий на совпадение. И так до конца строки.
Выражение // ничего не проверяет и потому совпадает в каждой позиции строки.
preg_split делит строку по местам совпадения регулярки. Поскольку совпадения в каждой позиции - то так и делит посимвольно.

Если уберёте PREG_SPLIT_NO_EMPTY, то увидите так же совпадения в позиции ^ и $
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
SagePtr
@SagePtr
Еда - это святое
По символам юникода разбивает
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽