python - регулярные - Регулярное выражение синтаксического анализа двоичного файла?




регулярные выражения примеры (2)

В вашем re.compile вам нужно использовать объект bytes , обозначенный начальным значением b :

r = re.compile(b"(This)")

Это Python 3 придирчивы к разнице между строками и байтами.

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

TypeError: can't use a string pattern on a bytes-like object

Я предполагаю, что это сообщение означает, что Python не хочет разбирать двоичные файлы. Я открываю файл с флагами "rb" .

Как я могу анализировать двоичные файлы с регулярными выражениями в Python?

EDIT: я использую Python 3.2.0


Это работает для меня для python 2.6

>>> import re
>>> r = re.compile(".*(ELF).*")
>>> f = open("/bin/ls")
>>> x = f.readline()
>>> r.match(x).groups()
('ELF',)




binary