关于如何使用正则表达式标记某些字符串的许多问题。
但是,我正在寻找将正则表达式模式本身标记化的方法,我确定有一些关于此主题的帖子,但我找不到它们。
例子:
^\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的幕后完成的。
一个起点:PyPy项目在(大多数)Python中实现了Python。该re.py源分布呼吁SRE-compile.c:_compile()做的工作。您也许可以破解它以提供所需的输出表单。
编辑此外,JavaScript的XRegExp库解析在扩展语法的正则表达式,并将它们呈现给标准语法。该分析器程序可以帮助你。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句