ChatGPT 速通手册——让 ChatGPT 来写正则表达式

article/2024/12/22 14:47:37

regex 生成

正则表达式可谓是一门让广大程序员们又爱又恨的技术。它易学难精,而且可维护性又差,别说交接给其他同事,同一个人写的正则表达式,三个月后回头再看,也可能完全不知所云。

因此,让 ChatGPT 来写正则表达式,成为很多程序员在接触 ChatGPT 时自然而然想到的场景。

ChatGPT 的训练数据中专门考虑了编程场景数据,所以确实对正则表达式有一定的理解能力。我们可以尝试让 ChatGPT 来解释一些年久失修的正则表达式:

如上图所示,甚至可以让 ChatGPT 一本正经提出一些改进方案。在一定程度上,可以启发不太精通正则表达式的初级程序员。

但如果进一步希望 ChatGPT 可以从原始数据中直接编写出正则表达式,就会碰到很多麻烦。

首先,ChatGPT 更擅长全自动化的语义分析或实体识别,很难接受仅提取指定内容的约束。

如上图所示,当我们直接要求 ChatGPT 生成正则,它看似给出了结果,但多出来很多我们并没有提及的命名捕获。这些多余的内容,反而需要我们再次明确提出去除哪些命名捕获字段才行。

仔细看的话,还可以发现我们最开始的 prompt 里其实已经要求了"Do not capture any other word"。所以再试试调整 prompt,加强一下捕获方面的描述,看看能不能让 ChatGPT 领会到我们期望的意思:

领会到意思以后,输出的结果质量就大幅下降,这个结果可以一眼看出错误非常严重,完全不正确—— "\S" 不可能匹配 url 和 HTTP 之间的空格。

由于 prompt 和 ChatGPT 模型的不确定性,我们多次调换 prompt 的语句次序和写法(就像下面列举的这样),都没能获得更好的结果。

  • "you can write a PCRE regex pattern to only capture them without any other word."
  • "you can write a PCRE regex pattern to only capture them."
  • "Do not capture but only match the other words in the pattern"

此外更重要的是,ChatGPT 生成的正则表达式,有时候肉眼难以定位问题,进行修正。我们回到本节之前全自动化识别生成的正则表达式,似乎一眼看过去应该是正确的:

^(?\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})\s-\s-\s[(?[^]]+)]\s"(?GET|POST|PUT|DELETE)\s(?[^"\s]+)\sHTTP/\d.\d"\s(?\d{3})\s(?\d+)\s"[^"]+"\s"[^"]+"\s"[^"]+"\s(?<response_time>[\d.]+)\s(?<connection_time>[\d.]+)$

但事实上,当我们通过正则表达式的在线调试网站,进行实际测试时,会发现这个表达式其实并不正确:

知道这个正则表达式不对,但是错误具体在哪里,就很难判断了。如果靠肉眼判断,只能一点一点,从后往前删内容,慢慢调试,即使有上图展示的调试工具的帮忙,发现有两个隐藏问题,也不能直接调整正确:

  1. ) Unmatched parenthesis:调试工具说的错误是")"未闭合,但其实是datetime 前后 2 处"["和 1 处"]"没有转义;
  2. / An unescaped delimiter must be escaped; in most languages with a backslash (\):此处调试工具说的错误可以直接修改。

正确可用的正则表达式应该是下面这样。对比 ChatGPT 的输出,可以说相似度极高,问题极难发现,但完全不可用:

^(?\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})\s-\s-\s[(?[^]]+)]\s"(?GET|POST|PUT|DELETE)\s(?[^"\s]+)\sHTTP/\d.\d"\s(?\d{3})\s(?\d+)\s"[^"]+"\s"[^"]+"\s"[^"]+"\s(?<response_time>[\d.]+)\s(?<connection_time>[\d.]+)$

因此,正则表达式作为一种复杂的,难以调试的技术,无法符合 Cohere 提出的三原则中方便定位错误的要求,也不适合采用 ChatGPT 技术进行生成。


http://chatgpt.dhexx.cn/article/tLkR7UQI.shtml

相关文章

轻松解决ChatGPT网络报错,畅享沟通

ChatGPT的确很不错&#xff0c;无论是在什么岗位&#xff0c;使用它都可以让工作的你提升效率&#xff0c;可是我们经常会遇到一个神奇的网络报错&#xff08;当我们一会不使用就来个这样的效果提示&#xff09;&#xff0c;是不是头大&#xff1f; 好了&#xff0c;开始进入正…

完美解决ChatGPT网络错误,不再频繁地刷新网页(分享好用的插件KeepChatGPT)

最近发现一个好用的浏览器插件KeepChatGPT&#xff01;完美解决ChatGPT网络错误&#xff0c;不再频繁地刷新网页&#xff0c;敲好用&#xff01;&#xff01;&#xff01; 废话不多说上链接&#xff01; 安装渠道如下 1 Github&#xff1a;https://github.com/xcanwin/KeepCh…

ChatGPT报错“network Error“?

文章目录 问题一、为什么ChatGPT会报错"network Error"?二、ChatGPT Plus -GPT4如何开通&#xff1f;结尾 问题一、为什么ChatGPT会报错"network Error"? ChatGPT报错“Network Error”&#xff0c;通常意味着它无法连接到服务器或API服务不可用。以下是…

chatgpt api极简入门(参考官网教程)

写在前面 心血来潮&#xff0c;复试完结束很摆&#xff0c;研究点东西玩玩&#xff0c;之前之知道nonebot搭建qq机器人的方法和步骤&#xff0c;这次记录下自己使用openai&#xff0c;gpt3.5的api的代码&#xff0c;参考自openai的官网。 环境 要求 python 版本 >3.8 &…

解决ChatGPT网络总是掉线问题

解决ChatGPT网络总是掉线问题 问题描述 1.我们在使用ChatGPT时&#xff0c;总是会遇到如下图网络掉线问题&#xff0c;是什么原因呢&#xff1f;简而言之&#xff0c;服务器检测到1-2分钟内你没有与之发生数据交互&#xff0c;认为你已经掉线了&#xff0c;就主动断开了链接&…

如何解决ChatGPT网络错误的问题,让AI对话更丝滑~

前言 在当今人工智能技术的飞速发展中&#xff0c;ChatGPT 作为一款大型语言模型备受瞩目。近期&#xff0c;其在各大社交媒体平台上的表现更是引来了一片关注之声。无论是与用户进行有趣的对话&#xff0c;还是帮助人们解决实际问题&#xff0c;ChatGPT 展现出了其强大的自然…

ChatGPT下的网站建设会收到哪些影响?

近日&#xff0c;微软发布了人工智能语言模型 ChatGPT&#xff0c;该模型可以理解人类的语言并生成响应式文本。与其他自然语言处理模型不同&#xff0c; ChatGPT具有出色的语言理解能力&#xff0c;并能够生成自然、流畅的文本。 ChatGPT不仅能够回答用户问题&#xff0c;还能…

如何一键部署自己的ChatGPT个人网站?

目录 一、前言 二、账号和项目准备 三、网站的部署 四、附上本次搭建网站的地址 一、前言 对于部署ChatGPT个人网站&#xff0c;其实网上有很多开源的项目可以拿来一键部署&#xff0c;我也在B站一些视频up主的教学下成功部署了自己ChatGPT网站。自己实践了部署了网站让我…

ChatGPT45个插件列表

ChatGPT插件现已对所有人开放。 插件介绍&#xff1a; Slack: 查询Slack信息Zapier: 与5000应用&#xff0c;如Google Sheets和Docs进行交互。Expedia: 在一个地方激活你的旅行计划Klarna购物: 在成千上万的在线商店中搜索并比较价格。Vogue时尚杂志: 搜索时尚杂志的文章TO-D…

ChatGPT 与 ChatSonic的比较

ChatGPT 与 ChatSonic的比较 李升伟 前 言 众所周知&#xff0c;ChatGPT最大的不足是新知识获取能力,它目前为止只用到了2021年前的数据作为训练&#xff0c;无法回答2021年之后的相关信息问题。在ChatGPT发布的当前&#xff0c;一家智能写作的创业公司writesonic发布了ChatGP…

Google Bard vs. ChatGPT 哪家强?结果一目了然

整理 | 梦依丹 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 2023 年的科技狂欢是 AI 给的&#xff0c;就在昨晚&#xff0c;AI 的新闻头条是一个接着一个&#xff1a;Google 开放 Bard&#xff1b;NVIDIA 推出了云工具&#xff0c;用于生成式人工智能&…

谷歌加紧测试ChatGPT竞品,靠对话可搜最新信息

来源&#xff1a;量子位 现代服务产业技术创新战略联盟 本文约1700字&#xff0c;建议阅读5分钟ChatGPT步步紧逼&#xff0c;谷歌终于要亮兵器了。 据CNBC最新爆料&#xff0c;谷歌正测试一款类似ChatGPT的聊天机器人&#xff0c;名为Apprentice Bard。 该产品基于谷歌对话模型…

chatgpt3.5实时插件

打开chrome的应用商店搜索webchatgpt 添加webchatgpt扩展插件打开chatgpt打开web开关

ChatGPT增强搜索,Google搜索同步显示

我们知道chatGPT生成结果有时候是错误的&#xff0c;它可以一本正经的胡说八道&#xff0c;所以chatGPT回答不准确的内容&#xff0c; 我们可以通过谷歌搜索的方式来进行对比。下面这个插件就可以实现这个功能。 image-20230401005529028 ChatGPT for Google是一款谷歌浏览器插…

ChatGPT 通过谷歌算法面试,年薪 18.3 万美金

本文已收录到 AndroidFamily&#xff0c;技术和职场问题&#xff0c;请关注公众号 [彭旭锐] 提问。 声明&#xff1a;此图片由 MidJourney 生成 未经训练&#xff0c;不属于任何真实人物 大家好&#xff0c;我是小彭。 2023 开年以来&#xff0c;全球媒体最火爆的热点莫过于一…

大厂卷起!Google 发布 ChatGPT 竞品 Bard

传闻许久&#xff0c;Google 终于出面为自己正在研发的 ChatGPT 竞争产品正名&#xff0c;由其 CEO 桑达尔皮查伊官宣&#xff0c;发布对话 AI 服务——Bard。CEO 亲自下场&#xff0c;不难看出 Google 对这款新品的重视程度。 不过&#xff0c;当前的 Bard 还处于实验性阶段&…

chatgpt聊天 谷歌chatGpt

ChatGPT作品展示&#xff1a; 由于足球冠军的获得是由多个国家参与的&#xff0c;因此中国队夺得足球冠军的概率是不可预测的。 最近发现很多科技公司都在搞ChatGPT&#xff0c;我们普通网民没有技术也想体验一下当下比较火的ChatGPT的人工智能&#xff0c;没有开发的我们有什么…

ChatGPT for Google :将 ChatGPT 整合到搜索引擎,ChatGPT 和谷歌不必二选一

公众号关注 「奇妙的 Linux 世界」 设为「星标」&#xff0c;每天带你玩转 Linux &#xff01; ChatGPT for Google 浏览器插件&#xff0c;在搜索引擎结果页面右侧显示 ChatGPT 的回答。支持 Chrome, Edge 和 Firefox 等主流浏览器&#xff0c;支持 Google, Baidu, Bing, Duck…

十分钟教你搭建ChatGPT 图片生成的安卓应用

十分钟教你搭建ChatGPT 图片生成的安卓应用 大家好&#xff0c;我是易安&#xff01; 今天&#xff0c;我们将集成 OpenAI API (ChatGPT)来构建一个简单的类似 ChatGPT 的 android 应用程序&#xff0c;让它返回我们想要的图片&#xff0c;本文是上一篇的姊妹篇。 详细步骤 第…

[chatGPT] 如何通过JNI在Android上显示实时视频流

目录 背景正文layout xmljavaCjava 总结一&#xff1a; 追问&#xff1a;CC 总结二&#xff1a;答疑解惑C 画蛇添足 视频不显示黑屏 最后感叹科技的更新速度&#xff0c;真的程序员都可能会被替代&#xff0c;下一个时代最大的问题应该是劳动力过剩&#xff0c;导致社会性结构改…