Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > как с помощью регекс выражений разбить строку


Автор: mstdmstd 25.10.2015, 16:20
Всем привет,
Подскажите, пожалуйста, как с помощью регекс выражений разбить строку 
Код

arg1 : val1   arg2="val2 = 'A'" arg3 : val3

по пробелам, чтобы получить 3 пары
Код

arg1 = val1   
arg2="val2 = 'A'" 
arg3 = val3

То есть пропускать пробелы внутри пары кавычек и если рядом с пробелом стоит символ ":" .

Можно ссылочку на похожий пример...

    Спасибо!

Автор: ksnk 25.10.2015, 18:14
http://ideone.com/JmSImF - не лучше? Внутри значения в кавычках кавычки бывают?

Автор: mstdmstd 26.10.2015, 16:01
Спасибо!
Регулярка в правой части не очень понятна
И для чего символ "|"  он в доке не описан...

Автор: ksnk 26.10.2015, 17:10
Цитата(mstdmstd @  26.10.2015,  16:01 Найти цитируемый пост)
И для чего символ "|"  он в доке не описан... 

В доке по регуляркам? Нужно искать более правильную доку  smile 

Символ позволяет выбрать либо один вариант - помещенное в кавычки значение, либо другой - ограниченное пробелом.
Сама регулярка нужна для парсинга такой строки. Разбивка на кусочки, в этом случае, уже как бы не нужна.

Автор: mstdmstd 27.10.2015, 08:32

дайте, пожалуйста, ссылку на хорошую "более правильную доку".
 Я читаю вводную статью "Введение в регулярные выражения. Синтаксис." http://minenko.sumy.ua/php/regexp-intro.html

Автор: ksnk 27.10.2015, 11:08
Цитата(mstdmstd @  27.10.2015,  08:32 Найти цитируемый пост)
Я читаю вводную статью "Введение в регулярные выражения. 

Удивительная статья. Как можно забыть про одну из основных возможностей регулярок?

php.net - наше все.

http://php.net/manual/ru/reference.pcre.pattern.syntax.php
 в частности, про символ | написано в http://php.net/manual/ru/regexp.reference.alternation.php и далее



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)