在python中是否有与emacs的rx宏相同的东西?
发布时间:2020-12-20 13:09:31 所属栏目:Python 来源:网络整理
导读:emacs中的rx宏(参见 http://www.emacswiki.org/emacs/rx和 http://doc.endlessparentheses.com/Fun/rx)可以以模块化和可读的方式指定正则表达式(至少您不必关心引用问题).例如: (rx "a" (optional "c") "b") 结果是 "ac?b" 在python中有类似的东西吗? 解决
emacs中的rx宏(参见
http://www.emacswiki.org/emacs/rx和
http://doc.endlessparentheses.com/Fun/rx)可以以模块化和可读的方式指定正则表达式(至少您不必关心引用问题).例如:
(rx "a" (optional "c") "b") 结果是 "ac?b" 在python中有类似的东西吗? 解决方法
IMO,使用LISP语法定义RegEx不是经典用法.怎么能保持这个? RegEx语言几乎是一个标准;几乎每个人都可读; rx不是.你知道Omnimark吗?它有一个漂亮但冗长的语法.它现在被遗忘了……
要做到这一点,你可以定义简单的函数,例如: def optional(regex): return regex + "?" def regex(*args): return "".join(args) REGEX = regex("a",optional("b"),"c") print(REGEX) 你会得到: ab?c (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |