Python:将动态值插入二进制正则表达式模式?
Python: insert dynamic value into binary regex pattern?
我正在尝试编译一个基本上执行以下操作的表达式:
exp = b'[\x00]{2}[\x00-\xFF]{%i}' % length
exp
b'[\x00]{2}[\x00-\xFF]{32}'
不幸的是,这个 returns 错误:
exp = b'[\x00]{2}[\x00-\xFF]{%i}' % length
TypeError: unsupported operand type(s) for %: 'bytes' and 'int'
我试过:
exp = bytes('[\x00]{2}[\x00-\xFF]{%i}' % length,'utf-8')
exp
b'[\x00]{2}[\x00-\xc3\xbf]{32}'
这不是我想要的:
exp == b'[\x00]{2}[\x00-\xFF]{32}'
False
我知道我一定是忽略了一些简单的事情。帮助任何人?
Latin-1 编码似乎有效:
bytes('[\x00]{2}[\x00-\xFF]{%i}' % length,'latin-1')
b'[\x00]{2}[\x00-\xff]{34}'
我正在尝试编译一个基本上执行以下操作的表达式:
exp = b'[\x00]{2}[\x00-\xFF]{%i}' % length
exp
b'[\x00]{2}[\x00-\xFF]{32}'
不幸的是,这个 returns 错误:
exp = b'[\x00]{2}[\x00-\xFF]{%i}' % length
TypeError: unsupported operand type(s) for %: 'bytes' and 'int'
我试过:
exp = bytes('[\x00]{2}[\x00-\xFF]{%i}' % length,'utf-8')
exp
b'[\x00]{2}[\x00-\xc3\xbf]{32}'
这不是我想要的:
exp == b'[\x00]{2}[\x00-\xFF]{32}'
False
我知道我一定是忽略了一些简单的事情。帮助任何人?
Latin-1 编码似乎有效:
bytes('[\x00]{2}[\x00-\xFF]{%i}' % length,'latin-1')
b'[\x00]{2}[\x00-\xff]{34}'