Измените шаблон, чтобы + или - появлялись в начале фразы

У меня есть рабочий шаблон

/[^\s"']+|"([^"]*)"|'([^']*)'|/ 

который разбивает отдельные слова или фразы (в двойных или одинарных кавычках), разделенные пробелом, в массив совпадений. Я хочу изменить шаблон, чтобы знак «+» или знак «-» появлялся в начале слова / фразы, поэтому preg_match_all не разделяет + или - на отдельное совпадение, то есть:

guide -"test * of" +'guide'

Я хочу, чтобы он был разделен на следующие совпадения

[0] => Array
    (
        [0] => guide
        [1] => -"test * of"
        [2] => +'guide'
    )

Заранее спасибо.


person doomie    schedule 11.11.2012    source источник


Ответы (1)


Попробуйте следующий шаблон: /[+-]?([^\s"']+|"([^"]*)"|'([^']*)')/

person Eugene    schedule 11.11.2012