关于如何使用regexp对某些字符串进行标记化的许多问题。
我正在寻找,为了标记正则表达式模式本身,我确信有一些关于这个主题的帖子,但我找不到它们。
示例:
^\w$ -> ['^', '\w', '&']
[3-7]* -> ['[3-7]*']
\w+\s\w+ -> ['\w+', '\s', '\w+']
(xyz)*\s[a-zA-Z]+[0-9]? -> ['(xyz)*','\s','[a-zA-Z]+','[0-9]?']
我假设在调用某些regexp
函数时,在python中完成了这项工作。
答案 0 :(得分:0)
一个开始的地方:PyPy project在(主要)Python中有Python的实现。源代码分发中的re.py会调用sre-compile.c:_compile()来完成工作。你可能能够破解它以提供你想要的输出形式。
编辑此外,Javascript XRegExp library以扩展语法分析正则表达式并将其呈现为标准语法。 parser routine可能会对您有所帮助。