Так что хватит с меня всех этих сантиментов – новых «Аватаров» я ждать уж точно не буду, да и что там Disney вообще и Марвел в частности припасли ещё для нас, мне теперь так же параллельно!.. Пусть лучше для меня Disney всегда будет ассоциироваться с воспоминаниями из детства – Микки-Маусом, различными Даками и Макдаками, феей в зелёном платье из заставки мультиков, про которую я отчётливо помню, как она пролетала над рисованным замком и ставила своей волшебной палочкой жирную точку над «i»
в названии тогда ещё всего лишь мультипликационной компании – а сейчас все пытаются уверить, будто последний факт никогда не имел места в действительности, приводя в доказательство имеющиеся на YouTube записи диснеевских заставок. Что ж, видать, я всё же не первый, кто балуется здесь с изменением реальности…Правда, на сей раз изменения коснутся не какой-то дурацкой феи, а вполне конкретной личности, которая сама уже никогда не узнает, чем кончится та или иная история (нужное подчеркнуть), о чём будут новые истории,
\*{2}
Дело в том, что по воле обстоятельств на протяжении последних нескольких лет я вынужден был заниматься разбором электронных копий заполняемых клиентами бумажных анкет с внесением их результатов в соответствующие базы данных. Работа изначально кропотливая и неблагодарная, которая могла бы свести с ума любого, если бы не одно обстоятельство…
В какой-то момент процесс изучения повторяющихся, типовых частей в различных образцах анкет сподвиг меня на попытку создания системы, способной самостоятельно извлекать пользовательские данные из этой мешанины разнообразных символов. Ну, не совсем на полном «автомате», но всяко лучше, чем вручную разбирать и впечатывать данные, согласитесь же.
Первая такая программка за моим авторством была ещё исключительно самописной и кустарной – и я, честно говоря, до сих пор толком не берусь объяснить, почему же она в большинстве случаев всё же справлялась со своей задачей. Затем я случайно нашёл на необозримых просторах Интернета подходящий мне
Как бы это попроще сформулировать? Ну, многие из вас, наверное, видели так называемые log-файлы отчётов, выглядящие как-то вот так:
127.0.0.1 – – [10/Jun/2009:10:00:00 +0000] "GET /example.html HTTP/1.1" 200 – "http://example.com" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"
Даже неискушённому пользователю может быть вполне очевидно, что здесь по какому-то сетевому адресу (в данном случае, локальному) в определённый момент времени происходит обращение к внешнему ресурсу с целью извлечения каких-то там данных с использованием определённого вида браузера и операционной системы. Так ведь? И подобные строчки, из которых можно выделить чёткую структуру, поддающуюся декомпозиции (разделению на отдельные смысловые структуры), могут повторяться в файле отчётов сколь угодно много раз. Технический специалист изучает их, извлекает полезную информацию и делает на её основе нужные выводы о работе конкретных программ, системы, действий пользователя и т.д.
Собственно, в природе существует необозримое множество средств для синтаксической декомпозиции подобных структур. Подгоняя один из подобных фреймворков под свои нужды, я лишь немного расширил для себя его функционал, чтобы позволить выделять из произвольного текста такие вот упорядоченные структуры неограниченное число раз. А промежутки между ними могут быть заполнены какими угодно символами, с точки зрения программы представляющими собой простой мусор.