是否有用于编写正则表达式的DSL?

时间:2011-08-10 14:00:01

标签: regex dsl

我想知道是否有用于编写正则表达式的DSL(特定于域的语言)?我知道“很少”的人实际上可以阅读和理解正则表达式,似乎一个“编译”到正则表达式的语言抽象将是一个很棒的胜利,如果存在的话。谢谢!

5 个答案:

答案 0 :(得分:3)

您尚未说明您的平台,但根据您的其他标记假设C#,您可能需要查看LINQ to Regex。我不确定这是一个好主意,但它是我听到的最接近你所追求的东西。

答案 1 :(得分:1)

Emacs有一个针对正则表达式的性别DSL:http://repo.or.cz/w/emacs.git/blob/HEAD:/lisp/emacs-lisp/rx.el

答案 2 :(得分:0)

我不知道DSL,但对于那些不了解正则表达式的人来说,就有了 的 Regular Expression Analyzer

答案 3 :(得分:0)

PEGs是正则表达式的一种更具可读性(也更强大)的替代方案。如果你正在寻找在语义上等同于普通正则表达式的东西,那么任何允许注释和空格的实现就足够了。

答案 4 :(得分:0)

我写了REL, an open-source regex DSL

它在scala中,但您可以将正则表达式导出/转换为其他flavors,如.NET。