如何标记正则表达式模式ITSELF?

伊丹什穆

关于如何使用正则表达式标记某些字符串的许多问题。

但是,我正在寻找将正则表达式模式本身标记化的方法,我确定有一些关于此主题的帖子,但我找不到它们。

例子:

^\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的幕后完成的

x

一个起点:PyPy项目在(大多数)Python中实现了Python。re.py源分布呼吁SRE-compile.c:_compile()做的工作。您也许可以破解它以提供所需的输出表单。

编辑此外,JavaScript的XRegExp库解析在扩展语法的正则表达式,并将它们呈现给标准语法。分析器程序可以帮助你。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章