#windows #text-processing #text-parsing
#Windows #обработка текста #синтаксический анализ текста
Вопрос:
У меня есть эти машины, которые выводят много данных. К сожалению, выводимые файлы структурированы странным образом. Я хотел бы иметь возможность выполнять некоторую сложную обработку текста (в стиле perl), чтобы анализировать данные и иметь возможность выводить в формат Excel. Я также хотел бы автоматизировать это, но единственный сервер, который я могу использовать, работает под управлением Windows XP (с Office), и мне не разрешено устанавливать какое-либо постороннее программное обеспечение (никаких .NET, Powershell, ActivePerl и т.д.) Каков наилучший способ сделать это? Достаточно ли мощны регулярные выражения в VB / VBA, чтобы я мог создавать сценарии в Excel?
Комментарии:
1. Если вы скомпилируете программу на каком-либо языке в автономный exe-файл, сможете ли вы запустить ее на компьютере? Кроме того, помните, что регулярное выражение — не единственное решение. Если это действительно сложно, то, возможно, стоит попробовать определить грамматику и использовать программу, подобную yacc, для создания синтаксического анализатора.
2. @Mat Да, я могу запустить исполняемый файл. Я взгляну на синтаксические анализаторы грамматики, но мне все равно понадобится способ импорта в Excel.
3. @Mat И файлы на самом деле не слишком сложны. Они в значительной степени представляют собой набор многострочных записей, разделенных пробелами, вот почему я намеревался использовать perl / regex.
Ответ №1:
Я бы рекомендовал использовать что-то вроде AutoIt. Он имеет встроенный движок регулярных выражений и включает стандарт Excel. Он может компилироваться в автономный exe-файл, так что вполне подходит. Это также довольно просто, как язык, поэтому не должно занять много времени, чтобы разобраться, что происходит с другими языками.
Комментарии:
1. @Mat Неважно, я не думаю, что это сработает. Я почти уверен, что не могу каким-либо образом взаимодействовать с графическим интерфейсом.
2. @Mat, я только что узнал о Strawberry Perl Portable. Я мог бы попробовать.
3. @Bat Мастерсон, что заставляет вас думать, что вам нужно взаимодействовать с графическим интерфейсом? Это не то, что делает AutoIt. Я бы прочитал немного больше и посмотрел на некоторые примеры файлов.
4. AutoIt — отличный язык для этого. Он может выполнять регулярные выражения и имеет отличную библиотеку для работы с Excel. Это также не требует установки для работы и не зависит от каких-либо огромных фреймворков, таких как .NET. AutoIt, кстати, является языком общего назначения, а не чисто языком автоматизации графического интерфейса пользователя, хотя в этом он превосходен.
5. @Manadar, спасибо! Можно ли запускать сценарии AutoIt без установки AutoIt? РЕДАКТИРОВАТЬ: Неважно, нашел это autoitscript.com/autoit3/docs/intro/compiler.htm