0

/(斜杠)在下划线之前和之后是什么意思(_ 或任何有效的正则表达式)。它是否与 ^ 和 $ 相同,因为我习惯以这种方式写作,但也看到有些人也以这种方式写作。而且它是javascript中替换方法的特殊要求还是我可以没有它?

var hello = "Hello_there."
    .replace(/_/g, ' ');
4

2 回答 2

6

/_/g构建正则表达式literal,就像"_"构建字符串文字一样。

/_/g相同,new RegExp("_", "g")但在解析和评估后立即编译,因此如果您经常执行这行代码,效率会更高。

当第一次评估代码时,作为代码的大字符串被替换为逻辑结构,其中包含运算符、字符串、数字等。您在此结构中也有正则表达式,这意味着每次执行代码时都不会发生正则表达式的编译,而只会发生一次。

它也更具可读性,因此当正则表达式为常量时应该首选。

MDN 有关于构建和使用正则表达式的良好文档

于 2013-02-26T08:01:25.993 回答
0

斜线表示开始,/g 表示正则表达式模式的结束。这只是语法。

于 2013-02-26T08:14:22.487 回答