在python中是否有与emacs的rx宏相同的东西?

在python中是否有与emacs的rx宏相同的东西?,第1张

概述emacs中的rx宏(参见 http://www.emacswiki.org/emacs/rx和 http://doc.endlessparentheses.com/Fun/rx)可以以模块化和可读的方式指定正则表达式(至少您不必关心引用问题).例如: (rx "a" (optional "c") "b") 结果是 "ac?b" 在python中有类似的东西吗? IMO,使用LISP语法定义Reg 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
总结

以上是内存溢出为你收集整理的在python中是否有与emacs的rx宏相同的东西?全部内容,希望文章能够帮你解决在python中是否有与emacs的rx宏相同的东西?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1196045.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存