JavaScript 正则表达式


JavaScript 正则表达式

定义

正则表达式是一种表达式语言,可以用来匹配一系列文本字符串。在 JavaScript 中,可以使用正则表达式来执行很多不同的任务,比如验证输入是否符合指定的格式、搜索文本中的某些模式等。

基本语法

在 JavaScript 中,正则表达式使用反斜杠(\)作为转义字符,并分为两种类型:

字面值语法

使用斜杠字符(/)将正则表达式括在中间,如下所示:

let pattern = /hello world/;

构造函数语法

使用 JavaScript 中的 RegExp() 构造函数,可以通过将正则表达式作为字符串传递给它来创建正则表达式实例,如下所示:

let pattern = new RegExp('hello world');

修饰符

在正则表达式中,修饰符是用来改变匹配模式的标志。JavaScript 支持以下修饰符:

  • i:不区分大小写匹配
  • g:全局匹配,找到所有的匹配项
  • m:多行匹配

这些修饰符可以和正则表达式一起使用。例如:

let pattern = /hello world/i;

这个正则表达式将匹配 'Hello World''hello world''Hello world' 等。

元字符

正则表达式中的特殊字符称为元字符,可以在匹配文本时使用。以下是一些常见的元字符:

  • .:任意单个字符
  • ^:匹配字符串开始位置
  • $:匹配字符串结束位置
  • *:重复零次或更多次
  • +:重复一次或更多次
  • ?:重复零次或一次
  • |:或匹配
  • []:指定字符集合匹配
  • ():捕获组

例如,以下正则表达式将匹配任何以 Mr.Mrs.Ms. 开头的字符串:

let pattern = /^(Mr|Mrs|Ms)\. [a-z]*$/i;

实例方法

JavaScript 中的正则表达式有以下实例方法,可用于执行各种操作:

  • test():测试一个字符串是否匹配特定的正则表达式。如果匹配,返回 true,否则返回 false
  • exec():用于匹配字符串,并返回匹配结果的数组。如果没有匹配,返回 null

例如,以下代码将匹配字符串 'Hello world' 并返回匹配到的结果:

let pattern = /world/;
let result = pattern.exec('Hello world');

在这个例子中,result 是一个数组,包含匹配到的结果 'world'

总结

JavaScript 中的正则表达式是一个强大的工具,可以用于验证、搜索、提取和替换文本。掌握 JavaScript 正则表达式的基础知识,将能够更好地使用它来处理字符串。