Всем привет.
Помогите составить регулярное выражение.
Нужно распарсить csv файл, вот пример:
$ cat data.csv
One "Two Three" Four
"Five Six Seven" "Eight Nine" "Ten Eleven"
Twelve Thirteen Fourteen
Разделитель - пробел. В цикле читаю каждую линию, потом регуляркой выделяю нужную запись. Проблема в том, что есть записи в двойных кавычках, и в них тоже есть пробелы, и они все портят. Нужно как-то объяснить, что разделители (пробелы) в двойных кавычках нужно игнорировать. Как это сделать?
Вот мой незамысловатый код, который выделяет вторую запись (PHP, запускаю из консоли):
<?
$string='Twelve Thirteen Fourteen';
$pattern='/(\S+)\s(\S+).*/i';
$replacement='$2';
$result=preg_replace($pattern,$replacement,$string);
echo "$result\n";
?>
Ответ можете давать на любом из популярных языков (программирования), хоть через grep/sed; здесь важна сама регулярка.
Заранее спасибо!