gpt4 book ai didi

regex - 反向正则表达式处理以生成正则表达式短语

转载 作者:行者123 更新时间:2023-12-04 09:43:57 26 4
gpt4 key购买 nike

我们使用普通的正则表达式处理器并传递输入文本和正则表达式短语来捕获所需的输出文本。

output = the_normal_regex(
input = "12$abc@#EF345",
phase = "\d+|[a-zA-Z]+")
= ["12", "abc", "EF", "345"]

我们是否可以反转接收输入文本和输出文本的处理以生成足够的正则表达式短语,特别是如果文本大小被限制为实际最小值,例如几十个字符?在这方面有什么可用的工具吗?
phrase = the_inverse_tool(
input = "12$abc@#EF345",
output=["12", "abc", "EF", "345"])
= "\d+|[a-zA-Z]+"

最佳答案

你问的似乎是是否有一些算法或现有的库接受一个输入字符串(比如 "12$abc@#EF345" )和一组匹配(比如 ["12", "abc", "EF", "345"] )并产生一个“足够的”正则表达式来产生匹配,给定输入字符串。

但是,在这种情况下,“足够”是什么意思?对于您的示例,一个简单的答案是:"12|abc|EF|345" .但是,您似乎希望得到更像广义 "\d+|[a-zA-Z]+" 的东西。

请注意,您的概括做出了许多假设,例如不应匹配法语、瑞典语或中文中的单词。和包含 , 的数字或 .也不包括在内。

你不能指望一个通用算法来做出这些区分,因为这些本质上是需要通用人工智能的问题,在抽象层次上理解问题域并提出合适的解决方案。

另一种看待它的方式是:您的问题与询问是否有某些函数或库可以自动执行程序员的工作(特定于正则表达式语言)相同。答案是:不,无论如何还没有,到那时,StackOverflow 上不会有人问或回答这些问题,因为我们都会失业。

然而,一些更乐观的观点可以在这里找到:Is it possible for a computer to "learn" a regular expression by user-provided examples?

关于regex - 反向正则表达式处理以生成正则表达式短语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62206420/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com