第一种,字面创建。 例如: let str = "1223qbvdd988rradf432"; let reg = /\d+/+g; let arr = str.match(reg); consolog.log(arr); // 可以得到一个这样的一个数组["1223","988","432"] 第二种,构造函数创建 let str = "1223qbvdd988rradf432"; let reg = new RegExp("\d+","g") let arr = str.match(reg); consolog.log(arr); // 可以得到一个这样的一个数组["1223","988","432"]
对于两种方式都能得到同一个结果,把字符串中的数字找出来。但在使用时的使用场景不同,自变量创建不能接受匹配值为变量,而构造函数中第一个参数可以为变量,像本例中的"\d+",可以在定义一个变量再赋值给构造函数,需要注意的字符串中对于"",需要加转义运算,所以当我们使用时,如果匹配值为变量,则用构造函数的方式,反之用字面创建