[New-bugs-announce] [issue26336] Expose regex bytecode as attribute of compiled pattern object
report at bugs.python.org
Wed Feb 10 23:05:27 EST 2016
New submission from Jonathan Goble:
Once a regular expression is compiled with `obj = re.compile()`, it would be nice to have access to the raw bytecode, probably as `obj.code` or `obj.bytecode`, so it can be explored programmatically. Currently, regex bytecode is only stored in a C struct and not exposed to Python code; the only way to examine the compiled version is to pass the `re.DEBUG` flag to `re.compile()`, which prints only to stdout and outputs not the finished bytecode, but a "pretty-printed" intermediate representation useless for programmatic analysis.
This is basically requesting the equivalent of the `co_code` attribute of the code object returned by the built-in `compile()`, but for regular expression objects instead of Python code objects.
Given that the bytecode can actually be multi-byte integers, `regexobj.bytecode` should return a list (perhaps even just the same list passed to the C function?) or an `array.array()` instance, rather than a bytestring.
components: Library (Lib), Regular Expressions
nosy: Jonathan Goble, ezio.melotti, mrabarnett, pitrou, serhiy.storchaka
title: Expose regex bytecode as attribute of compiled pattern object
versions: Python 3.6
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce