【发布时间】:2016-04-21 13:54:52
【问题描述】:
emacs 中的 rx 宏(参见 http://www.emacswiki.org/emacs/rx 和 http://doc.endlessparentheses.com/Fun/rx)使得以模块化和可读的方式指定正则表达式成为可能(至少您不必关心引用问题)。例如:
(rx "a" (optional "c") "b")
结果
"ac?b"
python中有没有类似的东西?
【问题讨论】:
-
我认为由于 Python 语法的低灵活性,很难做出类似的东西。 DSL 在 Python 中并不流行,通常只有 Java 风格的“构建器”。最接近的选择是
re.X和"""多行字符串。