JavaScript2种创建正则表达式的区别/普通字面量方式和构造函数方式

这两种方式,有很多种叫法,有叫隐士创建/显示创建的

有叫字面量创建/构造函数创建的

这个不是重点,主要明白两种的区别就好;

这样以后的用的时候不会被自己给坑了;

1.隐式创建

var regExp=/正则表达式/gi;

2.显示创建

var regExp=new RegExp(“正则表达式”,”gi”);

注意:

g代表是否使用全局变量

i代表是否忽略大小写,有i代表忽略大小写;

在现实创建的时候由于是字符串形式的正则表达式,需要对特殊字符进行转义,例如\ –>\\

双引号要加多一次转义的,第二个没有,这是书写时候规则的最大区别

外面是包裹方式不同;

要使用的正则表达式模式。如果使用语法 1 ,用 “/” 字符分隔模式。如果用语法 2 ,用引号将模式引起来。

由于 // 方式,正则是一个整体,无法加入变量。所以如果我们需加入变量只能用语法 2 的方式。具体使用如下:

var mSplitString = "/";
var re = new RegExp("[^"+mSplitString+"]","g");
var str = srcStr.replace(re,"");

由于 // 方式,正则是一个整体,无法加入变量。所以如果我们需加入变量只能用语法 2 的方式。具体使用如下:

Var mSplitString = “/”;

var re = new RegExp(“[^”+mSplitString+”]”,”g”);

var str = srcStr.replace(re,””);

示例:去掉字符串 ”aaa/bb/cc” 中非“ / ”字符

语法 1 使用方式:

var srcStr = "aaa/bb/cc";
srcStr.replace(/[^/]*/g,"");

语法 2 使用方式

var re = new RegExp("[^/]","g");
var srcStr = srcStr.replace(re,"");

~~

未经允许不得转载:WEB前端开发 » JavaScript2种创建正则表达式的区别/普通字面量方式和构造函数方式

赞 (1)