Я пытаюсь разобрать таблицу открытого текста, которую я создал через PDF. Формат данных - это типичная таблица счетов. Используя pdftotext вместе с PHP, я выполнил итерацию соответствующих строк таблицы в элементах массива. Мне нужно разобрать эти элементы, разбив их на многомерный массив для вставки в базу данных.Обычный текст Табличный анализ
Ниже приведен пример некоторых данных я встречу:
05/18 TMobileRTR 10-100 PE Sold 5/17/2015 11:34 PM 5555556666 $75.00 8.75 % $68.44 $6.56 05/18 T-MobileGoSmt10-100 Sold 5/18/2015 3:20 PM 7775556666 $45.00 6.00 % $42.30 $2.70 05/18 Univision $10-100EX Sold 5/18/2015 6:23 AM 8885556666 $65.00 6.00 % $61.10 $3.90 05/15 NET10 $50 Unl RTR Sold 5/15/2015 6:00 PM 9995556666 $50.00 8.00 % $46.00 $4.00 05/15 RP $49.99 30D RTR Sold 5/15/2015 6:16 PM 1115556666 $49.99 8.00 % $45.99 $4.00 05/16 Simple $40 TTD Sold 5/16/2015 1:42 PM 2225556666 $40.00 7.75 % $36.90 $3.10
соображения:
Использование взрываются разбить его пробелом. Тем не менее, для этого необходимо, чтобы многие параметры были подвергнуты санитарной обработке.
Я экспериментировал с шаблонами регулярных выражений, чтобы выполнить это, однако это не в моих масштабах знания, чтобы выполнить это.
Моя модель Я пытался закупать это:
^(?<settlment>\d{2}[\/]\d{2})(?:\s)(?<product>.+?)(?:\s)(?<type>.+?)(?:\s)(?<transaction>\d{1-12}[\/]{1-31}[\/].[0-9]|0[0-9]|1[0-9]|2[0-3]:[0-5][0-9].+?)(?:\s)(?<control>\b\d{3}[-.]?\d{3}[-.]?\d{4}\b)(?:\s)(?<retail>[+-]?[0-9]{1,3}(?:,?[0-9]{3})*\.[0-9]{2})(?:\s)(?<discount>[+-]?[0-9]{1,3}(?:,?[0-9]{3})*\.[0-9]{2})(?:\s)(?<cost>[+-]?[0-9]{1,3}(?:,?[0-9]{3})*\.[0-9]{2})(?:\s)(?<commission>[+-]?[0-9]{1,3}(?:,?[0-9]{3})*\.[0-9]{2})$
Я предполагаю, что регулярное выражение является лучшим методом идти о, однако мне нужно уточнить мой шаблон.
Ниже ассоциативный пробой, чтобы мы могли понять, что я пытаюсь донести здесь:
Settlement Date => 05/18
Product => TMobileRTR 10-100 PE
Type => Sold
Transaction Date/Time => 5/17/2015 11:34 PM
Control Number => 5555556666
Retail => $75.00
Discount => 8.75 %
Cost => $68.44
Commission => $6.56
Вот как мне нужны данные, отформатированные для реляционной вставки.
Что это ожидаемый результат, что «тип» в частности? –
Невозможно написать для него регулярное выражение, не понимая, что означает каждая часть каждой строки. Пожалуйста, объясни. Я думаю, что вы уточните свое регулярное выражение самостоятельно, когда попробуете объяснить смысл каждой части :) –
Неясно, в чем вопрос? – kebs