- 主题:各位,有办法判断两个正则表达式是否具有包含关系么?
比如查找字符串 abcdef 是包含 abc def 的。这是纯字符串。那么两个正则表达式有办法判断包含关系么?或者说是否可行?
--
FROM 117.133.52.*
没太明白你具体要干什么
可以举个例子
【 在 chunhui 的大作中提到: 】
: 标 题: 各位,有办法判断两个正则表达式是否具有包含关系么?
: 发信站: 水木社区 (Tue Jan 30 16:30:53 2024), 站内
:
: 比如查找字符串 abcdef 是包含 abc def 的。这是纯字符串。那么两个正则表达式有办法判断包含关系么?或者说是否可行?
: --
:
: 夜色中 是秋雨绵绵 街道上 是黄叶片片
: 灯光里 人们很温暖 微风中 用秋裤御寒
: 载着你 是梦想的船 挡着雨 是破旧的伞
: 相见时 你语笑言欢 分别了 我独自流连
: 29
:
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 117.133.52.*]
--
FROM 202.98.13.*
比如我要在一个文件中找字符串。
A= abcdef B= abc 这两个待找的字符串是有包含关系的对吧?因为你一旦找到了A,那肯定就一定有B,因为A包含B。 abcdef不止包含abc,还包含abcde bcde def cdef。。。。
这种包含关系如果是纯字符串很容易判断。但是如果A B是两个正则表达式。改怎么判断?
【 在 wuduan 的大作中提到: 】
: 没太明白你具体要干什么
: 可以举个例子
--
FROM 117.133.52.*
可以求得 .*(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.*
这个有现成的函数实现或者详细的资料介绍么?我想了解一下。
刚才我简单搜了一下,都是说先各自转换成自动机,然后比较自动机。。。但感觉挺难的。
【 在 heideggerr 的大作中提到: 】
: 可以求得 .*(A|B) 这个正则表达式 对应的自动机,然后根据A和B的终结节点的关系来判断,比如B的终结状态都在A的终结状态的路径上,则A包含B。
--
FROM 117.133.52.*
随便找本编译原理的书,看看NFA->DFA算法那部分,原理上其实很简单的。
【 在 chunhui 的大作中提到: 】
: 这个有现成的函数实现或者详细的资料介绍么?我想了解一下。
: 刚才我简单搜了一下,都是说先各自转换成自动机,然后比较自动机。。。但感觉挺难的。
--
FROM 113.232.129.*
这东西学完了细节都忘了。我搜了一下都说这个很难。gpt也说挺复杂。如果按你说的可以的话,那我就放心了,回去复习一下。
不过gpt说这是一个不可判定问题。。。真的假的。
【 在 heideggerr 的大作中提到: 】
: 随便找本编译原理的书,看看NFA->DFA算法那部分,原理上其实很简单的。
--
修改:chunhui FROM 117.133.52.*
FROM 117.133.52.*
现在GPT都成了衡量问题难度的参考了吗?
GPT根本不了解“每个正则表达式都对应一个自动机”以及“正则语言上的子句关系对应于自动机上的路径包含关系”,现在的GPT还只是一个概率语言模型,它完全不理解事物的内在关系,本质上它是很弱智的东西。
【 在 chunhui 的大作中提到: 】
: 这东西学完了细节都忘了。我搜了一下都说这个很难。gpt也说挺复杂。如果按你说的可以的话,那我就放心了,回去复习一下。
--
FROM 113.232.129.*
对应一个自动机这个我知道。但是如何判断是否包含我就不知道了。所以我不确定这个是否可以作到,或者难度如何。
不过gpt还给出了一些资料,还是很有用的:
是的,有一些学术研究和论文探索了正则表达式之间包含关系的判断方法。以下是一些相关的公开资料,您可以参考它们以了解更多信息:
1. "Regular Expression Containment" by Janusz Brzozowski and David K. Hsiao: 这篇论文探讨了正则表达式的包含关系判断问题,并提出了一种基于自动机的算法来判断两个正则表达式之间的包含关系。您可以在 ACM Digital Library 上找到该论文。
2. "Regular Expression Matching and Operational Semantics" by Dexter Kozen: 这篇论文研究了正则表达式的等价性和包含关系,并介绍了一种基于有限状态自动机和操作语义的方法来判断包含关系。您可以在 Dexter Kozen 的个人网页上找到该论文的链接。
3. "Containment of Regular Expressions with Counting" by Damian Niwinski and Igor Walukiewicz: 这篇论文探讨了带有计数功能的正则表达式的包含关系判断问题,并提出了一种基于自动机和逻辑的方法来判断包含关系。您可以在该论文的作者个人网页上找到该论文的链接。
这些论文可能涉及一些复杂的理论和算法,需要一定的背景知识才能理解。如果您对这个问题非常感兴趣,我建议您深入研究相关的学术文献,并根据您的具体需求选择适合的方法。
【 在 heideggerr 的大作中提到: 】
: 现在GPT都成了衡量问题难度的参考了吗?
: GPT根本不了解“每个正则表达式都对应一个自动机”以及“正则语言上的子句关系对应于自动机上的路径包含关系”,现在的GPT还只是一个概率语言模型,它完全不理解事物的内在关系,本质上它是很弱智的东西。
--
FROM 117.133.52.*
GPT在这里做的就是一个搜索引擎而已。
【 在 chunhui 的大作中提到: 】
: 对应一个自动机这个我知道。但是如何判断是否包含我就不知道了。所以我不确定这个是否可以作到,或者难度如何。
: 不过gpt还给出了一些资料,还是很有用的:
: 是的,有一些学术研究和论文探索了正则表达式之间包含关系的判断方法。以下是一些相关的公开资料,您可以参考它们以了解更多信息:
: ...................
--
FROM 113.232.129.*