#php #regex #preg-match
#php #регулярное выражение #предварительное соответствие
Вопрос:
Я не очень хорошо разбираюсь в регулярных выражениях (на самом деле, вообще мало что знаю). Мне нужно создать массив из строки, разделенной пробелами, но только тогда, когда пробел не заключен в двойные кавычки, поэтому:
this.line "should be 3" elements
будет выглядеть как:
this.line
should be 3
elements
Я знаю, что могу использовать preg_match для получения массива, но я понятия не имею о регулярном выражении.
p.s Я просмотрел другие решения в Stack Overflow, но регулярное выражение, похоже, не работает с моим preg_match.
Спасибо.
Ответ №1:
Вы могли бы попробовать это:
preg_match_all('/"[^"] "|S /', $s, $matches);
Посмотрите, как это работает онлайн: ideone
Комментарии:
1. Отлично, спасибо. Есть ли вероятность разбиения относительно того, что делает каждый сегмент? Я не хочу продолжать спрашивать о регулярном выражении 🙂
2. @webnoob Он не разделяет, а сопоставляет либо что-то среднее «, либо все, что не является пробелом. Умная вещь 🙂 1