Генерация динамических регулярных выражений для предсказуемых повторяющихся строковых шаблонов в потоке данных

В настоящее время я пытаюсь обработать несколько потоков данных, над которыми я не могу контролировать, где я использую регулярные выражения в C # для извлечения информации.

Создатель потока данных извлекает основные строковые данные из своей базы данных (например, название продукта, цену и т. Д.), А затем форматирует эти данные в строках с английским текстом. Для каждой строки часть текста представляет собой повторяющийся статический текст, а часть - динамически сгенерированный текст из базы данных.

например

Телевизор Panasonic с БЕСПЛАТНЫМ плеером Blu-Ray

Телевизор Sony с БЕСПЛАТНЫМ DVD-плеером + DVD в кассе

Устройство Hi-Fi Kenwood с ваучером Amazon MP3 на 20 долларов

Итак, формат в данном случае это: PRODUCT с FREEGIFT .

PRODUCT и FREEGIFT являются динамическими частями каждой строки, а текст «with» статичен. В каждом фиде около 2000 строк.

Создание регулярного выражения для извлечения динамических частей тривиально.

Проблема в том, что маркетинговые команды, контролирующие поток данных, продолжают изменять структуру статического текста, обычно раз в две недели, поэтому на этой неделе у меня могут быть:

Совершенно новый телевизор Panasonic и БЕСПЛАТНЫЙ Blu- Ray Player, если вы закажете сегодня

Совершенно новый телевизор Sony и БЕСПЛАТНЫЙ DVD-плеер + Box Office DVD, если вы закажете сегодня

Совершенно новое Hi-Fi устройство Kenwood и купон Amazon MP3 на 20 долларов, если вы закажете сегодня

И на следующей неделе, вероятно, будет что-то другое, поэтому я должен продолжать изменять свои регулярные выражения ...

Как бы вы справились с этим?

Есть ли алгоритм для определения статического и переменного текста в повторяющихся строках строк? Если да, то как лучше всего использовать выходные данные такого алгоритма для программного создания динамического регулярного выражения?

Спасибо за любую помощь или совет.

5
задан waveydavey 26 January 2012 в 15:56
поделиться