1. Using the new RegExp() constructor
// constructorvar re = new RegExp("////", "gm");
2. Using the regular expression literal
// regular expression literalvar re = ////gm;
when using the RegExp()constructor, you also need to escape quotes and often you need to double-escape backslashes, as shown in the preceding snippet.
Regular Expression Literal Syntax
• g—Global matching
• m—Multiline
• i—Case-insensitive matching
var no_letters = "abc123XYZ".replace(/[a-z]/gi, "");console.log(no_letters); // 123
Another distinction between the regular expression literal and the constructor is that the literal creates an object only once during parse time.
function getRE() { var re = /[a-z]/; re.foo = "bar"; return re;}var reg = getRE(), re2 = getRE();console.log(reg === re2); // true // Kaibo(20140602): For now this result should be false in ES5(Tested in Chrome)reg.foo = "baz";console.log(re2.foo); // "baz"
Note
新闻热点
疑难解答