gpt4 book ai didi

regex - 计算机是否可以通过用户提供的示例将 "learn"转换为正则表达式?

转载 作者:行者123 更新时间:2023-12-03 05:00:58 26 4
gpt4 key购买 nike

计算机是否有可能通过用户提供的示例“学习”正则表达式?

澄清一下:

  • 不想想学习正则表达式。
  • 我想创建一个程序,从用户交互提供的示例中“学习”正则表达式,可能通过从文本中选择部分或选择开始或结束标记来实现。

这可能吗?是否有我可以通过 Google 搜索到的算法、关键字等?

编辑:谢谢您的回答,但我对提供此功能的工具不感兴趣。我正在寻找理论信息,例如论文、教程、源代码、算法名称,这样我就可以为自己创建一些东西。

最佳答案

是的,有可能的,我们可以从示例中生成正则表达式(文本 -> 所需的提取)。这是一个在线工作工具,可以完成以下工作:http://regex.inginf.units.it/

Regex Generator++ 在线工具使用 GP 搜索算法从提供的示例生成正则表达式。GP 算法由多目标适应度驱动,可带来更高的性能和更简单的解决方案结构(奥卡姆 Razor )。该工具是的里雅斯特大学(Università degli studi di Trieste)机器学习实验室的演示应用程序。请看视频教程here .

这是一个研究项目,因此您可以阅读有关使用的算法的信息 here .

看哪!:-)

当且仅当所提供的示例很好地描述了问题时,才可以从示例中找到有意义的正则表达式/解决方案。考虑这些描述提取任务的示例,我们正在寻找特定的项目代码;这些示例是文本/提取对:

"The product code is 467-345A" -> "467-345A"
"The item 789-345B is broken" -> "789-345B"

(人类)人在查看示例时可能会说:“项目代码类似于\d++-345[AB]”

当项目代码更宽松但我们没有提供其他示例时,我们没有证据可以很好地理解问题。将人工生成的解决方案\d++-345[AB] 应用于以下文本时,会失败:

"On the back of the item there is a code: 966-347Z"

您必须提供其他示例,以便更好地描述什么是匹配、什么不是所需的匹配:--即:

"My phone is +39-128-3905 , and the phone product id is 966-347Z" -> "966-347Z"

电话号码不是产品id,这可能是一个重要的证明。

关于regex - 计算机是否可以通过用户提供的示例将 "learn"转换为正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/616292/

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