Python的re模块允许对给定的正则表达式模式进行一些编译。比如说,
re
import re c = re.compile('(?<=abc)def')
如何打印出表达式编译后的代码?任何有关实现细节的文档链接也会很有帮助source code建议对某种内部VM(如PikeVM)执行此编译。此虚拟机的操作码为here
8wtpewkr1#
您可以尝试将re.DEBUG提供给flags=:
re.DEBUG
flags=
import re re.compile("(?<=abc)def", flags=re.DEBUG)
图纸:
ASSERT -1 LITERAL 97 LITERAL 98 LITERAL 99 LITERAL 100 LITERAL 101 LITERAL 102 0. INFO 4 0b0 3 3 (to 5) 5: ASSERT 9 3 (to 15) 8. LITERAL 0x61 ('a') 10. LITERAL 0x62 ('b') 12. LITERAL 0x63 ('c') 14. SUCCESS 15: LITERAL 0x64 ('d') 17. LITERAL 0x65 ('e') 19. LITERAL 0x66 ('f') 21. SUCCESS
1条答案
按热度按时间8wtpewkr1#
您可以尝试将
re.DEBUG
提供给flags=
:图纸: