我有一个搜索字节码指令的项目,我想扩展它以允许使用正则表达式来匹配模式。
我想要做的事情的要点是拥有自定义角色类/集,这样我就可以像ISTORE
那样匹配以下任何指令:
ISTORE
ISTORE_0
ISTORE_1
ISTORE_2
ISTORE_3
然后类似ILOAD
... ILOAD_n
等等。
ISTORE和ILOAD类似于\s
这样的元字符,它们真正代表多个字符。
基本上我只是在寻找一个跳跃点,所以我可以找到一种方法来实现我自己的元字符。
答案 0 :(得分:2)
您不需要修改正则表达式引擎(这将非常困难)
你只需要一个帮助函数就可以像使用re.escape
def my_re_escape(regex):
regex = re.escape(regex)
regex = regex.replace('foo', 'bar')
# etc
return regex