正则表达式

本文目录结构

写在前面

正则表达式是用于匹配字符串中字符组合的模式。

在 JavaScript 中,正则表达式也是对象。这些模式被用于 RegExp 的 exec 和 test 方法,以及 String 的 match、matchAll、replace、search 和 split 方法。

本章介绍 JS 正则表达式语法教程。

在我们的 JavaScript 教程中,JavaScript RegExp 对象 这一章节专门介绍了有关 JavaScript 正则表达式的知识,同时我们还提供了完整的 JS 正则表达式文档。

正则表达式能干啥?

工作中遇到一些有规律的脏累活,都可以用正则表达式来处理;比如前端的表单提交验证,某个字符串的格式验证等等;

或者获取某些有规律的数据中的目标信息,这些时候用正则表达式来搞,是非常明智的选择!

别的方法需要很多操作,用 Javascript 的正则表达式几行代码的事情就搞定;

正则表达式是繁琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。

只要认真阅读本教程,加上应用的时候进行一定的参考,掌握正则表达式不是问题。

正则表达式 (Regular Expression) 是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为”元字符”)。

正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。

许多程序设计语言都支持利用正则表达式进行字符串操作。

正则表达式译名问题

Regular Expression 的 Regular 一般被译为正则、正规或常规。此处的 Regular 即是规则、规律的意思,Regular Expression 即“描述某种规则的表达式”之意

基本语法

一个正则表达式通常被称为一个模式(pattern),为用来描述或者匹配一系列符合某个句法规则的字符串。例如:Handel、Händel 和 Haendel 这三个字符串,都可以由 H(a|ä|ae)ndel 这个模式来描述

实例

从字符串 str 中提取数字部分的内容(匹配一次):

var str = "abc123def";
var patt1 = /[0-9]+/;
console.log(str.match(patt1));

以下标记的文本是获得的匹配的表达式:

123

创建一个正则表达式

你可以使用以下两种方法之一构建一个正则表达式:

使用一个正则表达式字面量,其由包含在斜杠之间的模式组成,如下所示:

var re = /ab+c/;

使用正则表达式字面量为正则表达式提供了脚本加载后的编译。当正则表达式保持不变时,使用此方法可获得更好的性能。

或者调用 RegExp 对象的构造函数,如下所示:

var re = new RegExp("ab+c");

使用构造函数为正则表达式提供了运行时的编译。使用构造函数的方式,当你知道正则表达式的模式将会改变,或者你不知道模式,并且从其他来源获取它,如用户输入。

正则表达式的特点

正则表达式的特点是:

  1. 灵活性、逻辑性和功能性非常强;
  2. 可以迅速地用极简单的方式达到字符串的复杂控制。
  3. 对于刚接触的人来说,比较晦涩难懂。

由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器 EditPlus,大到 Microsoft Word、Visual Studio 等大型编辑器,都可以使用正则表达式来处理文本内容。

阿西河

AXIHE / 精选教程

浏览全部教程

HTML

CSS

JS

关于本站

阿西河前端教程more,是一个提供大前端开发教程的网站;这里不仅会有传统的WEB开发教程,还会包含Nodejs,Docker,云服务相关的介绍;