Тема: WSH: Обсуждение модуля и утилиты работы с INI файлами (JScript)
Недавно я создал достаточно многословную тему JScript: модуль обработки INI файлов и утилита работы с INI файлами. Сейчас в работе с ней я столкнулся с небольшой проблемой, которую хотел бы обсудить и получить советы, как поступить лучше. Я намеренно перенес язык в конец названия темы дабы акцентировать внимание не на языке, а на алгоритме. Также приветствуется любая критика и конструктивные предложения по улучшению как программы так и самого модуля.
Для поиска ключей-параметров используется регулярное выражение, которое ищет все строки, вида название = значение. При этом, строки начинающиеся с символов ; (точка с запятой) и # (решетка) отфильтровываются, так как рассматриваются как комментарии. Допустимы любые пробельные символы в начале строки и вокруг символа = (знак равенства). Мне часто попадается конфигурация, которая содержит один ведущий символ пробела в значении параметра.
То есть, при разборе входного файла все ведущие пробелы в поле "значение" "съедаются", и в результате исходный и конечный файлы отличаются.
Вопрос следующий. Сейчас используется такое регулярное выражение.
/^\s*([^;#\s][^=]*?)\s*=\s*([^\r\n]*?)\s*$/Имеет ли смысл это выражение "смягчить", так чтобы оно сохраняло все символы после знака равенства?
/^\s*([^;#\s][^=]*?)\s*=([^\r\n]*?)$/
