我在想是否有一种用于编写正则表达式的DSL(领域特定语言)?我知道只有很少的人能够读懂和理解正则表达式,如果存在一种抽象成正则表达式的语言,那将是一个绝佳的胜利。谢谢!
您没有说明您的平台,但是根据您的其他标签,假设您使用的是C#,您可能想查看LINQ to Regex。我不确定这是否真的是一个好主意,但这是我听说过最接近您所需求的。
Emacs为正则表达式提供了一个Sexp DSL:http://repo.or.cz/w/emacs.git/blob/HEAD:/lisp/emacs-lisp/rx.el
我写了 REL,一个开源的正则表达式 DSL。
它是用 Scala 编写的,但你可以将你的正则表达式导出/转换成其他 平台,比如 .NET。
我不知道有没有DSL,但对于那些不理解正则表达式的人,可以使用 正则表达式分析器
PEGs是比正则表达式更易读(且更强大)的替代方案。如果你正在寻找与普通正则表达式在语义上等效的东西,那么任何允许注释和空格的实现都足够了。