- 主题:各位,有办法判断两个正则表达式是否具有包含关系么?
可以求得 .*(A|B) 这个正则表达式 对应的自动机,然后根据A和B的终结节点的关系来判断,比如B的终结状态都在A的终结状态的路径上,则A包含B。
【 在 chunhui 的大作中提到: 】
: 比如我要在一个文件中找字符串。
: A= abcdef B= abc 这两个待找的字符串是有包含关系的对吧?因为你一旦找到了A,那肯定就一定有B,因为A包含B。 abcdef不止包含abc,还包含abcde bcde def cdef。。。。
: 这种包含关系如果是纯字符串很容易判断。但是如果A B是两个正则表达式。改怎么判断?
--
修改:heideggerr FROM 113.232.129.*
FROM 113.232.129.*
随便找本编译原理的书,看看NFA->DFA算法那部分,原理上其实很简单的。
【 在 chunhui 的大作中提到: 】
: 这个有现成的函数实现或者详细的资料介绍么?我想了解一下。
: 刚才我简单搜了一下,都是说先各自转换成自动机,然后比较自动机。。。但感觉挺难的。
--
FROM 113.232.129.*
现在GPT都成了衡量问题难度的参考了吗?
GPT根本不了解“每个正则表达式都对应一个自动机”以及“正则语言上的子句关系对应于自动机上的路径包含关系”,现在的GPT还只是一个概率语言模型,它完全不理解事物的内在关系,本质上它是很弱智的东西。
【 在 chunhui 的大作中提到: 】
: 这东西学完了细节都忘了。我搜了一下都说这个很难。gpt也说挺复杂。如果按你说的可以的话,那我就放心了,回去复习一下。
--
FROM 113.232.129.*
GPT在这里做的就是一个搜索引擎而已。
【 在 chunhui 的大作中提到: 】
: 对应一个自动机这个我知道。但是如何判断是否包含我就不知道了。所以我不确定这个是否可以作到,或者难度如何。
: 不过gpt还给出了一些资料,还是很有用的:
: 是的,有一些学术研究和论文探索了正则表达式之间包含关系的判断方法。以下是一些相关的公开资料,您可以参考它们以了解更多信息:
: ...................
--
FROM 113.232.129.*