我想知道是否有用于编写正则表达式的 DSL(领域特定语言)?我知道“很少”人实际上可以阅读和理解正则表达式,并且似乎“编译”为正则表达式的语言抽象如果存在的话将是一个了不起的胜利。谢谢!
您尚未说明您的平台,但假设基于您的其他标签的 C#,您可能需要查看 LINQ to Regex。我不确定这真的是个好主意,但这是我听说过的最接近您想要的想法。
Emacs 有一个用于正则表达式的 sexp DSL:http://repo.or.cz/w/emacs.git/blob/HEAD:/lisp/emacs-lisp/rx.el
我不知道 DSL,但对于那些不懂正则表达式的人来说,有
正则表达式分析器
PEGs 是比正则表达式更具可读性(也更强大)的替代方案。如果您正在寻找语义上与普通正则表达式等效的东西,那么任何允许注释和空格的实现就足够了。
我编写了 REL,一个开源正则表达式 DSL。
它是用 scala 编写的,但您可以将正则表达式导出/翻译为其他 flavors,例如 .NET。
我刚刚遇到了RegEsp DSL。它似乎很少受到关注。我喜欢这个主意。