@SlavaMorg

Как составить регулярное выражение для строки типа "[данные1][данные2][данные3]?

Есть строка типа [данные1][данные2][данные3], нужно сделать из нее массив типа array(
1=>'данные1',
2=>'данные2',
3=>'данные3'
)
Для разбиения строки на массив по шаблону в php есть функция preg_split, но я чёт не могу правильно составить шаблон ибо не силен в регулярках. Гуглил - безуспешно. Сам сварганил "/[[][A-Z_-]+]/". Но почему то не работает. Суть в том, что нужны данные, стоящие между квадратными скобками. Внутри могут быть заглавные латинские буквы, подчеркивания и дефисы. Помогите пожалуйста
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
BuriK666
@BuriK666
Компьютерный псих
Если хотите именно preg_split, то:
preg_split('/\[(.*?)\]/', '[данные1][данные2][данные3]', -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
preg_match_all с https://regex101.com/r/hM8jA9/1 и готово
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы