Получить текст между кавычками - PullRequest
0 голосов
/ 04 января 2012

У меня есть такой текст "my text" "my text2". Как я могу извлечь my text и my text2 в массив?

Ответы [ 2 ]

1 голос
/ 04 января 2012

Цикл вашего ввода с:

"([^\\"]*(?:\\.[^\\"]*)*)"

и захватить первую группу.

Эта конструкция будет обрабатывать как встроенные кавычки, так и пустые строки. Если вы не хотите пустых строк, замените первую * на +.

В PHP это делается с помощью preg_match_all:

preg_match_all('/"([^"]*(?:\\"[^"]*)*)"/', "input here", $matches);
# use the $matches array
0 голосов
/ 04 января 2012

Если в вашей строке нет встроенных кавычек, вы можете просто использовать "(.*?)". Если они это сделают, то это зависит от того, как вы их заключите в кавычки, но "(([^"\\]|\\.)*)" будет обрабатывать строки с кавычками, такие как "\"\\". (Примечание: ни одна из этих строк не указана в кавычках, за исключением обратной косой черты во втором регулярном выражении.)

...