零、前言

正则表达式是模式或模板,它允许您以自然但模糊的方式定义一组规则,使您能够匹配和验证文本。几乎每一种现代编程语言都或多或少地实现了它们。

当使用任何类型的文本输入时,您并不总是知道值是什么,但是您通常可以假设(甚至要求)您将在应用中接收的格式。这些类型的情况正好是您创建正则表达式来提取和操作该输入的时候。

在这本书里,你将学习 JavaScript 中正则表达式的基础知识。我们将从基础开始,通过一些特殊的模式,然后,深入两个例子。第一个是验证 web 表单,第二个是从日志文件中提取信息的非常复杂的模式。对于所有的例子,我们将使用循序渐进的方法,这将使我们更容易学习和吸收从这本书中学到的所有知识。

这本书涵盖了什么

第 1 章Regex入门,介绍 JavaScript 中的正则表达式。它还展示了如何开发用于测试前三章中使用的正则表达式的程序。

第 2 章基础知识,涵盖了 JavaScript 中正则表达式的主要特性,即模糊匹配器、乘数和范围。

第三章特殊人物,潜入雷盖克斯的特殊人物模式。它涵盖了为 Regex 定义边界、定义非 Regex 量词以及用组定义 Regex。

第 4 章Regex 在实践中,演示了如何开发一个网络表单,并使用自第一章以来学习的正则表达式功能验证其所有字段。

第 5 章Node.js 和 Regex 一步步讲解了如何使用 Node 创建一个简单的应用。使用 Regex 读取和解析 Apache 日志文件。它还演示了如何将日志文件中的信息显示到用户友好的网页中。

附录JavaScript Regex 备忘单,提供了 JavaScript 中正则表达式所用模式的摘要及其描述,以及测试和创建正则表达式的有用方法列表。

这本书你需要什么

为了开发本书中的源代码,你需要任何你喜欢的文本编辑器和一个浏览器(比如 Chrome 或者火狐)。

对于第五章Node.js 和 Regex ,你还需要在你的电脑中安装 Node.js。所有必需的步骤都在本章中描述。

这本书是给谁的

这本书非常适合处理任何类型用户输入数据的 JavaScript 开发人员。这本书是为那些拥有基本到中级 JavaScript 正则表达式技能的 JavaScript 程序员设计的,他们想第一次学习这些技能或提高技能成为专家。

惯例

在这本书里,你会发现许多区分不同种类信息的文本样式。以下是这些风格的一些例子和对它们的意义的解释。

文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、伪 URL、用户输入和 Twitter 句柄如下所示:“现在,让我们来看看这些助手函数中的一些,从errclearResultsAndErrors开始。”

代码块设置如下:

123-123-1234
(123)-123-1234
1231231234

任何命令行输入或输出都编写如下:

npm install http-server g

新名词重要词语以粗体显示。您在屏幕上看到的单词,例如在菜单或对话框中看到的单词,会出现在文本中,如下所示:“当给定一个文本输入时,下图举例说明了正则表达式的匹配。”

警告或重要提示会出现在这样的框中。

类型

提示和技巧是这样出现的。

读者反馈

我们随时欢迎读者的反馈。让我们知道你对这本书的看法——你喜欢或不喜欢什么。读者反馈对我们来说很重要,因为它有助于我们开发出你真正能从中获益的标题。

要给我们发送一般反馈,只需发送电子邮件<[feedback@packtpub.com](mailto:feedback@packtpub.com)>,并在您的邮件主题中提及书名。

如果你对某个主题有专业知识,并且对写作或投稿感兴趣,请参见我们位于www.packtpub.com/authors的作者指南。

客户支持

现在,您已经自豪地拥有了一本书,我们有许多东西可以帮助您从购买中获得最大收益。

下载示例代码

您可以从您在http://www.packtpub.com的账户下载您购买的所有 Packt Publishing 书籍的示例代码文件。如果您在其他地方购买了这本书,您可以访问http://www.packtpub.com/support并注册,以便将文件直接通过电子邮件发送给您。

下载本书的彩色图片

我们还为您提供了一个 PDF 文件,其中包含本书中使用的截图/图表的彩色图像。彩色图像将帮助您更好地理解输出中的变化。您可以从http://www . packtpub . com/sites/default/files/downloads/1234 ot _ color images . pdf下载此文件。

勘误表

尽管我们尽了最大努力来确保我们内容的准确性,但错误还是会发生。如果你在我们的某本书里发现了错误——可能是文本或代码中的错误——如果你能向我们报告,我们将不胜感激。通过这样做,你可以让其他读者免受挫折,并帮助我们改进这本书的后续版本。如果您发现任何勘误表,请访问http://www.packtpub.com/submit-errata,选择您的书籍,点击勘误表提交表链接,并输入您的勘误表的详细信息。一旦您的勘误表得到验证,您的提交将被接受,勘误表将上传到我们的网站或添加到该标题勘误表部分下的任何现有勘误表列表中。

要查看之前提交的勘误表,请前往https://www.packtpub.com/books/content/support并在搜索栏中输入图书名称。所需信息将出现在勘误表部分。

盗版

互联网上版权材料的盗版是所有媒体的一个持续问题。在 Packt,我们非常重视版权和许可证的保护。如果您在互联网上遇到任何形式的我们作品的非法拷贝,请立即向我们提供位置地址或网站名称,以便我们寻求补救。

请通过<[copyright@packtpub.com](mailto:copyright@packtpub.com)>联系我们,获取疑似盗版资料的链接。

我们感谢您在保护我们的作者方面的帮助,以及我们为您带来有价值内容的能力。

问题

如果您对本书的任何方面有问题,可以在<[questions@packtpub.com](mailto:questions@packtpub.com)>联系我们,我们将尽最大努力解决问题。