Оптимизация регулярных выражений для устаревших данных в формате JSONPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Оптимизация регулярных выражений для устаревших данных в формате JSON

Сообщение Anonymous »

У меня есть устаревший формат данных, похожий на Json. Пример показан в блоке кода ниже:

Код: Выделить всё

1  {
2    base = {
3      attributeNumericName = V1D,
4      attributeName = hello,
5      attributeFloat = 1.0,
6      attributeQuotes = "a\b",
7      canContainLists = [
8        1.0,
9        2.0
10      ],
11     canContainStackedData = [
12       {
13         stackedAttribute = 1.0
14       }
15     ]
16   }
17 }
Чтобы иметь возможность эффективно читать это в Python, я конвертирую текст, используя замены регулярных выражений. Я использую следующие три замены:


< tr>
Действие
Источник
Замена
Влияет на строку(и)




Заменить все атрибуты числовыми значениями

Код: Выделить всё

([\w]{1,}) = ([\d\.]{1,},?)

Код: Выделить всё

"\1": \2
5, 13


Заменить все атрибуты строковыми значениями

Код: Выделить всё

([\w]{1,}) = ([\w]{1,})

Код: Выделить всё

"\1": "\2"
3, 4


Заменить все оставшиеся атрибуты
3, 4


Заменить все оставшиеся атрибуты

Код: Выделить всё

([\w\d]{1,}) = 
2, 6, 7, 11



Поскольку при таком поиске приходится проходить по содержимому три раза, он выполняется довольно медленно. Всего мне нужно исследовать несколько терабайт файлов. Поэтому я пытаюсь оптимизировать это. Я пытался придумать, как объединить эти три замены в одну, но пока безуспешно. Любая помощь будет очень признательна.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ta-to-json
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»