创建正则表达式

正则表达式是一种对象类型。我们可以使用两种方法来构造正则表达式:一是使用RegExp构造器构造一个正则表达式对象;二是使用斜杠(/)字符将模式包围起来,生成一个字面值。

  1. let re1 = new RegExp("abc");
  2. let re2 = /abc/;

这两个正则表达式对象都表示相同的模式:字符a后紧跟一个b,接着紧跟一个c

使用RegExp构造器时,需要将模式书写成普通的字符串,因此反斜杠的使用规则与往常相同。

第二种写法将模式写在斜杠之间,处理反斜杠的方式与第一种方法略有差别。首先,由于斜杠会结束整个模式,因此模式中包含斜杠时,需在斜杠前加上反斜杠。此外,如果反斜杠不是特殊字符代码(比如\n)的一部分,则会保留反斜杠,不像字符串中会将其忽略,也不会改变模式的含义。一些字符,比如问号、加号在正则表达式中有特殊含义,如果你想要表示其字符本身,需要在字符前加上反斜杠。

  1. let eighteenPlus = /eighteen\+/;