В настоящее время я пытаюсь обработать несколько потоков данных, над которыми я не могу контролировать, где я использую регулярные выражения в 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 долларов, если вы закажете сегодня
И на следующей неделе, вероятно, будет что-то другое, поэтому я должен продолжать изменять свои регулярные выражения ...
Как бы вы справились с этим?
Есть ли алгоритм для определения статического и переменного текста в повторяющихся строках строк? Если да, то как лучше всего использовать выходные данные такого алгоритма для программного создания динамического регулярного выражения?
Спасибо за любую помощь или совет.