我想弄清楚(在运行时)两个正则表达式是否相交(即,如果它们存在一个或多个匹配正则表达式的字符串)。
算法需要非常快,因为我需要遍历数据库并检查现有值。
找到了一些关于这个但没有实现的理论?
答案 0 :(得分:3)
显而易见的解决方案是将正则表达式转换为DFA,计算DFA的交集(平凡)并查看结果DFA是否可以接受(也是微不足道的)。唯一困难的部分是将正则表达式转换为DFA,这需要一些工作。
答案 1 :(得分:3)
这是使用正则表达式的偏导数的implementation in Haskell。对该帖子的评论指出克里斯多德的答案中的方法存在问题。
答案 2 :(得分:0)
如果使用通过第一个输入的输入检查第一个然后另一个?