计算机是否可以通过用户提供的示例"学习"正则表达式?
澄清:
可能吗?我可以使用Google的算法,关键字等吗?
编辑:谢谢你的答案,但我对提供此功能的工具不感兴趣.我正在寻找理论信息,如论文,教程,源代码,算法名称,所以我可以为自己创造一些东西.
您将获得2个字符串列表 - A和B.找到匹配A中所有字符串的最短正则表达式,而不是B中的所有字符串.请注意,此正则表达式可以匹配/不匹配不在A中而不在B中的其他字符串.简单,我们可以假设我们的字母大小只有2个字符 - 0和1.也只允许这些运算符:
* - 0或更多
?- 0或1
+ - 1或更多
() - 括号
为简单起见,不允许使用正则表达式运算符.我不知道是否允许或运算符(|)会简化问题.A和B的路线没有共同的元素.这里有些例子:
A=[00,01,10]
B=[11]
answer = 1*0+1*
Run Code Online (Sandbox Code Playgroud)
A=[00,01,11]
B=[10]
answer = 0*1*
Run Code Online (Sandbox Code Playgroud)