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

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://www.rhkb.cn/news/1150.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

轻松解决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;就主动断开了链接&…

在 1 分钟内使用 ChatGPT 构建一个完整的网站

欢迎来到令人兴奋的自然语言处理和机器学习世界&#xff01;今天&#xff0c;我们将探索 ChatGPT 的功能&#xff0c;这是一种由 OpenAI 开发的最先进的语言模型。ChatGPT 最令人印象深刻的功能之一是它能够根据简单的描述生成源代码。想象一下&#xff0c;无需自己编写一行代码…

ChatGPT,真香!谷歌顶级AI人才组团叛逃OpenAI

【导读】据The Information爆料&#xff0c;OpenAI在最近几个月里挖了至少十几名谷歌AI的员工&#xff0c;而这些工程师都在ChatGPT的研究中发挥了至关重要的作用。 如今已经没人能否认&#xff0c;OpenAI凭ChatGPT火遍了全球。 所有AI从业者和投资人都想知道&#xff0c;一家…

ChatGPT通过谷歌L3入职测试,人类码农危矣?

一条消息最近在硅谷热传&#xff1a;“ChatGPT成功通过了谷歌的面试&#xff0c;拿到了年薪18万美元的L3工程师offer&#xff01;” 既给科学论文当共同作者&#xff0c;又能替代人类码农&#xff0c;还能给总统讲话写稿子&#xff0c;这个ChatGPT&#xff0c;怕是真要通天了。…

为什么 ChatGPT 会引起 Google 的恐慌?

在 ChatGPT 尚未全面开放使用之际&#xff0c;它散发的巨大威力&#xff0c;似乎已经让行业内的竞争对手感到了威胁。 整理 | 屠敏 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 距离 ChatGPT 上线不足一个月的时间&#xff0c;其已经成为各行各业智囊团中的“网…

chatGPT的谷歌浏览器Monica插件的使用

前提说明&#xff1a; 我们使用Monica插件&#xff0c;可以在使用谷歌浏览器的时候使用ChatGPT&#xff0c;平常可以和快速地解决我们遇到的开发问题。 1、需要使用的的插件百度云盘连接如下&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1IWiDS19U9qSlBcQzFrznMA 提取…

首个“开源ChatGPT”来了:基于谷歌5400亿参数大模型,华人小哥出品,网友吐槽:这谁能跑?

就说程序员的手速有多快吧&#xff0c;首个开源ChatGPT项目已经出现了&#xff01; 基于谷歌语言大模型PaLM架构&#xff0c;以及使用从人类反馈中强化学习的方法&#xff08;RLHF&#xff09;&#xff0c;华人小哥Phillip Wang复刻了一个ChatGPT出来。 项目GitHub星已经超过1…

ChatGPT有多厉害,影响到谷歌地位?

Datawhale干货 技术&#xff1a;ChatGPT&#xff0c;来源&#xff1a;量子位 AI神器 ChatGPT 火了。 能直接生成代码、会自动修复bug、在线问诊、模仿莎士比亚风格写作……各种话题都能hold住&#xff0c;它就是OpenAI刚刚推出的——ChatGPT。 有脑洞大开的网友甚至用它来设计…

ChatGPT能够干翻谷歌吗?

目前大多数人对于ChatGPT的喜爱&#xff0c;主要源自于其强大的沟通能力&#xff0c;当我们向ChatGPT提出问题时&#xff0c;它不仅能够为我们提供结论&#xff0c;而且还能够与我们建立沟通&#xff0c;向ChatGPT提出任何问题&#xff0c;感觉都像是在与一个真实的人类进行交谈…

【ChatGPT案例】10大ChatGPT谷歌插件神器

ChatGPT相信大家都用过&#xff0c;但是如何高效使用&#xff0c;并真正挖掘出ChatGPT的强大能力呢&#xff1f;关键之处就在于Prompts&#xff01; 可是&#xff0c;编写prompts是一门熟能生巧的技术活&#xff0c;我们能不能一键拥有那些惊艳的prompts呢&#xff1f;答案就是…

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

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

使用Chat gpt提高Android开发效率

简介 在过去几周里&#xff0c;我进行了一项令人大开眼界的实验&#xff0c;将 Chat-GPT&#xff08;我使用的是 Bing Chat&#xff0c;它在后台使用了 GPT-4&#xff0c;并且可以免费使用&#xff09;融入到我的日常 Android 开发工作流程中&#xff0c;以探索它是否能够提高…

ChatGPT解答:安卓APP耗电量测试方案和源码,用Android代码实现

ChatGPT解答&#xff1a;安卓APP耗电量测试方案和源码&#xff0c;用Android代码实现 安卓APP耗电量测试方案和源码&#xff0c;用Android代码实现 作为一名AI助手&#xff0c;我不会编写代码&#xff0c;但我可以为您提供一些关于安卓APP耗电量测试方案和源码的信息和建议。 …

chatgpt赋能python:Python如何打包安卓程序?

Python如何打包安卓程序&#xff1f; Python 是一种高级编程语言&#xff0c;具有简单易学、代码简洁、易于阅读等特点&#xff0c;因此在开发中广受欢迎。而随着移动设备的普及&#xff0c;Python 开发者们也开始着手开发安卓应用程序。那么&#xff0c;在 Python 中如何打包…

通过ChatGPT跟MetaHuman对话,Android/iOS兼容

一、申请ChatGPT的API-KEY 1.通过 openAI官网申请API-KEY 2.参考使用腾讯云函数一分钟搭建 OpenAI 免翻墙代理搭建openAI免翻墙代理 3.通过Postman测试一下openAI函数是否可被调用,传入BearerToken和Body参数,ChatGPT即可返回应答数据 二、启用必要的插件 1.启用文字转语…

试看ChatGPT如何带你通关蔚来Android车载面试

近期ChatGPT&#xff0c;火了。火到什么程度&#xff1f;根据瑞士银行巨头瑞银集团的一份报告显示&#xff0c;在ChatGPT推出仅2个月后&#xff0c;它在2023年1月末的月活用户已经突破了1亿。 那么ChatGPT是什么&#xff1f; 借用百度介绍下&#xff0c;ChatGPT&#xff0c;美…