2016-02-16 22 views
2

在线服务Kimono为用户提供了一个GUI,供用户选择 页面元素,然后使用所选元素创建一个匹配这些选择的正则表达式。这个正则表达式可以用来在不同的时间点从同一页面提取信息。该服务非常有用,因为您不必自己生成正则表达式查询,而是提供一组示例查询匹配,然后将其编译到查询正则表达式中。该公司被收购,因此该服务不再可用。查找最简单的正则表达式查询以匹配一组示例

但是,这个问题看起来像一个有趣的问题,所以我的问题是这样的:什么算法能够将一个大文档中的大量示例(包括正数和负数)转换为正则表达式,那些例子?

+0

按页索引文件。听取用户对文档的选​​择。将正则表达式匹配插入相应的页面索引?看起来像我一般的算法 –

+0

这对堆栈溢出来说太广泛了。 –

+1

@MacroMan不,它不是。这些数据结构和算法都有名称。他们很好理解。 OP只是不知道术语。 – z5h

回答

1
+0

这并没有解决手头的问题。您是对的,您可以通过这种方式找到最低状态的DFA,但这并不能保证您可以找到最小长度的正则表达式。 – templatetypedef

+0

@templatetypedef要求输入“最简单”的正则表达式。我认为这个定义有一些余地。 – z5h

+0

也许我错过了一些东西,但我不确定这是如何连接回正则表达式。你如何从一个小的DFA转到一个简单的正则表达式?将自动机转换为正则表达式的行为经常会对正则表达式造成巨大的影响。 – templatetypedef