正则表达式谜题和AI编码助手是两个竞争对手的故事。一边是David Mertz,他是一位编程专家,也是Web上最受欢迎的正则表达式教程的作者。另一个是AI强大的编码助手,GitHub Copilot和OpenAI ChatGPT。 https://www.manning.com/books/regular-expression-puzzles-and-ai-coding-assistants 比赛是这样进行的:David发明了24个正则表达式问题,他称之为“谜题”,并向你展示如何解决每个谜题。当他完成时,他让Copilot和ChatGPT完成同样的谜题。它们所产生的东西引起了他的兴趣。哪一方更有可能得到正确的答案?哪一个能写出简单优雅的代码?它更聪明地使用了鲜为人知的正则表达式库功能?阅读本书来找出答案。
David还提供了人工智能的最佳实践,展示了智能提示如何返回更好的结果。到最后,不管你是否使用AI,你都将成为解决自己的正则表达式谜题的大师。
本书是为有一定编程语言经验的程序员准备的。在本书之前,每一个审阅提案的人都曾大声地评论过,几乎所有编程语言的程序员都能立刻意识到,当然,每一个计算机程序员和软件开发人员都已经在日常工作中使用正则表达式了。我并不期望向我的许多读者介绍一个全新的概念。或者至少我不希望向他们介绍这个概念。在本书中,除正则表达式之外的代码通常使用Python编程语言。尤其是在那些我从GitHub的Copilot或OpenAI的ChatGPT中提出的“AI想法”的谜题中。事实证明,这些工具目前经常会拒绝“编写一个正则表达式来完成这样那样的任务”的请求,但通常很乐意满足“编写一个使用正则表达式的Python程序”来完成相同的任务的请求。我在Python社区中已经有20多年的知名度,因此显然喜欢这门语言。不过,本书讨论的封装正则表达式的编程语言相对来说比较偶然,使用其他语言的程序员很快就能理解定义变量名、创建函数的想法,只有偶尔才会将正则表达式的操作封装在条件if块中。所有这些简单的结构在你可能经常使用的任何编程语言中都有非常相似的地方,在你的头脑中翻译对任何读者来说都不需要花太多时间。互联网上有很多正则表达式的入门教程。我鼓励你读一些。Python编程语言的官方文档(http://python.org/)中就有一个很好的例子。事实上,在本书的附录中,我写的一个附录多年来一直是页面流行度指标中阅读最广泛的教程之一。当然,本书的主要内容并不是这样的教程,出版这本书是没有必要的。