理解正则表达式的字面量形式和构造函数形式

1.字面量的参数不使用引号,而构造函数的参数使用引号;
2.字面量形式提供正则表达式的编译状态,而构造函数提供了表达式的运行时状态;

举例说明:
表达式: /${browserType}\:([\w\W]*?)\./
构造函数: new RegExp(${browserType}\\:([\\w\\W]*?)\\.)
表达式不接收传参而构造函数接收传参

字面量形式和构造函数的相互转化:

当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 \)。比如,以下是等价的:
var re = new RegExp("\w+");
var re = /\w+/;

.replace(),脚本中使用 1 和2 指明括号里先前的匹配

var re = /(\w+)\s(\w+)/;
var str = "John Smith";
var newstr = str.replace(re, "2,1");
print(newstr);

.match方法,依次输出匹配结果、括号1匹配结果、括号2匹配结果...

"safari:11.1".match(/(safari):([\w\W]*?)./)
// ["safari:11.", "safari", "11"]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。