计算机可以通过用户提供的示例“学习”正则表达式吗?
澄清:
>我不想学习正则表达式。
>我想创建一个程序,从通过用户交互式提供的示例中“学习”正则表达式,也许通过从文本中选择部分或选择开始或结束标记。
可能吗?是否有Google可以使用的算法,关键字等?
编辑:谢谢你的答案,但我不感兴趣的工具提供此功能。我在寻找理论信息,如论文,教程,源代码,算法名称,所以我可以为自己创造一些东西。
书
An Introduction to Computational Learning Theory包含用于学习有限自动机的算法。由于每个常规语言等效于有限自动机,因此可以通过程序学习一些正则表达式。
Kearns and Valiant示出了不可能学习有限自动机的一些情况。相关问题是
learning hidden Markov Models,它们是可以描述字符序列的概率自动机。注意,在编程语言中使用的大多数现代“正则表达式”实际上比常规语言更强,因此有时更难学习。
原文链接:https://www.f2er.com/regex/358166.html