Regex для разделения строки на каждый {пробел}, но не в кавычках - PullRequest
4 голосов
/ 05 ноября 2011

Я не очень хорошо разбираюсь в регулярных выражениях (на самом деле, вообще ничего не знаю). Мне нужно создать массив из строки, разделенной на пробелы, НО только тогда, когда пробел не находится в двойных кавычках, так:

this.line "should be 3" elements

будет выглядеть как:

this.line
should be 3
elements

Я знаю, что могу использовать preg_match для получения массива, но я не имею понятия о регулярном выражении.

p.s Я смотрел на другие решения в переполнении стека, но регулярное выражение, похоже, не работает с моим preg_match.

Спасибо.

1 Ответ

6 голосов
/ 05 ноября 2011

Вы можете попробовать это:

preg_match_all('/"[^"]+"|\S+/', $s, $matches);

Посмотрите, как работает онлайн: ideone

...