特别加餐 | ChatGPT类AI聊天机器人能看懂正则表达式?
你好,我是伟忠。
最近 ChatGPT 非常火,相信大部分同学也做过一些尝试,我们可以使用 ChatGPT辅助完成部分代码,在基础上做一些修改、调试,基本上就可以用了,确实给编程效率带来了很大的提升。
但同时也有一些同学焦虑,觉得 ChatGPT 可能会取代程序员,造成自己失业。但我认为也不用太担心,使用多了你就会发现,虽说ChatGPT 确实可以帮助回答一些编程上的问题,但都是一些知识片段,而且有时候会出现错误,也需要用户自己去判断。我们可以把ChatGPT这一类的AI聊天工具当成一个老师,或者知识渊博的朋友,你有想了解或者有困惑的地方,都可以和他聊聊。既不用担心请教同事问题太简单让自己没面子,也不用担心麻烦对方。
我们今天的主题就聚焦在正则表达式与ChatGPT类AI智能聊天机器人,看看AI聊天机器人能在哪些方面帮助我们更好地使用正则表达式。
AI聊天机器人在正则方面的应用
在正则方面,ChatGPT的重要作用表现在它可以 提供参考示例、 自动检测错误、 解释正则表达式 以及 提供练习和测试 等多个方面的功能,让用户能够更加容易入门、更加熟练地掌握正则表达式的使用。
提供参考示例
首先我们来看下提供参考示例,AI对话机器人可以帮助用户查找和提供与其输入相关的正则表达式示例。比如我们需要一个校验邮箱的正则,可以直接问“验证邮箱的正则表达式”,就可以得到对应的答案,连自己看网页从里面挑选的时间都省了。示例里面我使用的是 New Bing,不仅给出了Python代码的示例,还给出了它参考了哪些网页上的信息综合得到的答案。
我们也可以要求他使用Go语言实现,很快就能给出对应的代码。
自动检测错误
接着,我们来看一下自动检测错误:AI对话机器人可以帮助用户检测正则表达式中的常见错误,并提供相应的建议。比如我问了这样的一个问题“正则表达式 [a-zA-Z]+ 无法匹配上所有的单词,请给出原因”,我们可以看到,解释还是挺好的。
对于正则中容易出现的错误,ChatGPT类对话机器人也可以检查表达式语法、结构、语义和常见的逻辑错误,来为用户提供建议和错误提示。
以下是10个在正则表达式输入时ChatGPT可能会检测到的常见错误。
-
忘记转义特殊字符:如正则表达式中忘记对.、+、*等特殊字符进行转义,导致匹配结果与预期不符。
-
括号不匹配:如正则表达式中括号未正确配对,或者圆括号和方括号混淆使用,导致表达式无法编译或导致匹配结果出错。
-
错误的字符类别:如意外使用了一些不被支持或无效的字符类别,导致表达式无法解析或处理。
-
量词位置错误:如在量词前加上一个无效的字符或在其后离开空格,导致表达式无法解释或产生语法错误。
-
命名捕获组错误:如在捕获组中错用了命名参数,或者命名参数定义之前已经开始匹配,导致表达式无法编译或导致匹配错误。
-
长度限制错误:如使用过长的表达式,导致匹配速度缓慢,甚至崩溃应用程序的性能。
-
字符集错误:如正则表达式使用了过于复杂的字符集和逻辑,导致表达式需要花费大量的时间来匹配字符串。
-
贪婪匹配错误:如使用贪婪匹配操作符(如.*)时,出现了意料之外的匹配结果,导致表达式无法满足需要。
-
边界匹配错误:如在表达式中使用了^和$进行边界匹配时,导致匹配结果出错或无法处理。
-
错误的优先级:如在表达式中使用了优先级不正确的操作符,导致匹配结果出错或无法处理。
对于以上错误,ChatGPT可以通过分析正则表达式的语法和结构,检查其逻辑和语义上的正确性,帮助用户检测错误并提供相应的建议。
解释正则表达式
接着,我们看一下AI对话机器人在解释正则表达式方面的应用,如果你有看不懂的正则表达式,它可以帮助用户解释每部分的功能,并提供与之相关的文档和资源。
我们这里使用之前课程中的一些示例,尝试让它来进行解释。
练习和测试
最后,我们来看一下如何使用AI对话机器人进行练习和测试,进而加深对正则表达式的理解和熟练度。
AI聊天机器人的不足
虽然 ChatGPT类AI对话机器人非常强大,在学习正则方面,可以是一个得力助手,但它并不完美,有时给出的答案不是最佳答案,甚至是错误的回复。所以对于AI给出的内容,我们一定要自己动手验证,不能全信。
下面是一个示例,我尝试纠正它的错误,我们可以看到,虽然它认识到转义符号只能有一个,但最终给出的代码还是两个转义符号,猜测可能是网页内容呈现上还需要进一步优化。
所以我们还是需要自己有一定的识别能力,不能完全靠AI。我们也需要自己去了解更多的领域知识,只有自己了解后,才知道如何向 ChatGPT类聊天机器人提问,也才能判断它给出的答案是不是靠谱。但AI的进步飞快,相信会越来越完美的。
总结
AI智能聊天机器人给我们知识检索带来了很大的便利性,让我们可以使用自然语言去提问,也很大程度上提高了我们的工作效率。在工作和生活中要用好这类AI智能聊天助手,把它当作一个向导,让它们更好地为我们提供服务。
我们可以利用它给出正则示例、检测正则中的错误、解释正则表达式,以及利用它来练习和测试正则表达式。
课后思考
目前国内外聊天机器人产品非常多,比如国外的 OpenAI 的 ChatGPT、谷歌的 Bard、微软的 New Bing、国内的百度的文心一言、阿里的通义千问等,你使用过哪些AI对话机器人呢?你觉得它们是如何学会正则表达式的呢?
期待你的留言,我们评论区一起交流讨论。