首页 > 解决方案 > 使用 Ragel 在 Golang 中的两个正则表达式的交集

问题描述

该函数的模板如下:

func GetIntersection(firstRegex string, secondRegex string) string {
    ...
}

我正在尝试使用 Ragel 来获取两个正则表达式的交集。不过,不确定 Ragel 是否是正确的工具。我最后的手段是实现从正则表达式到 DFA 和 DFA 到正则表达式的转换,以及我自己的两个 DFA 的交集,但我宁愿避免这种情况。非常感谢任何可靠的库来解决这个问题。

标签: regexgodfaragel

解决方案


Ragel 有一个交集运算符 (&)。您可以生成任意两个正则表达式的交集,只要它们以 ragel 语法表示即可。没有免费的自动 ragel 到 regex 的翻译。这是我一直在私下为客户制作的东西。无论如何,有关交叉路口的更多信息,请参阅手册。


推荐阅读