一、正则表达式概述

正则表达式(Regular Expression),又称正规表示法,是一种文本模式,可以用来检索、替换那些符合某个句法规则的文本。正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。JavaScript 的正则表达式对象实现了标准的正则表达式,它支持全部的正则表达式特性,而且在大多数浏览器中都得到很好的支持。

二、正则表达式基本语法

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。JavaScript 的正则表达式使用斜杠(/)作为开头和结尾,内部是正则表达式代码:



正则表达式的语法有以下几种:
  • 字符匹配:用于查找单个字符,比如a、1、@等;
  • 字符类:用于查找一类字符,比如[abc]表示查找a、b、c任意一个字符;
  • 量词:用于查找一个或多个字符,比如a{1,3}表示查找1-3个a;
  • 分组:用于将多个字符组合成一个组,比如(ab)+表示查找至少一个由a和b组成的字符串;
  • 后向引用:用于引用某个分组匹配的字符串,比如\1表示引用第一个分组匹配的字符串;
  • 转义字符:用于查找特殊字符,比如\t表示查找制表符;
  • 选择符:用于查找多个不同的字符,比如a|b表示查找a或b;
  • 注释:用于在正则表达式中添加注释,比如(?#comment)表示添加注释。

三、JavaScript中的正则表达式

JavaScript中的正则表达式是一个对象,使用RegExp构造函数定义:



其中,pattern表示正则表达式的字符串,attributes是一个可选的参数,用于指定正则表达式的一些特性,它可以是一个或多个以下值的组合:
  • i:表示忽略大小写;
  • g:表示全局匹配;
  • m:表示多行匹配。

此外,JavaScript还提供了一些正则表达式方法,可以使用这些方法来检索、替换字符串,比如test()、exec()、match()等。