如何在javascript中生成包含正斜杠的正斜杠的字符串?

时间:2013-10-10 03:42:20

标签: javascript regex

我使用以下Javascript生成字符串:/abc/.source。 通过在控制台中运行此代码,它将返回"abc"

现在我想生成一个像"abc/"这样的字符串。

我尝试/abc\//.source,但它返回"abc\/"

如何在不使用var reg = new RegExp("abc/");reg.source的情况下实现此目的?

1 个答案:

答案 0 :(得分:3)

我认为你误解了 source 属性:

  

设S是一个等价于P的Pattern形式的String,其中   如下所述,某些字符被转义。 S可能是也可能不是   与P或图案相同;但是,内部程序会   将S评估为模式的结果必须与之相同   由构造对象[[Match]]给出的内部过程   内部财产。

15.10.4.1 new RegExp(pattern, flags)

换句话说,源值必须能够用作正则表达式构造函数中的字符串:

var re = new RegExp( s.source );

匹配中使用时,结果表达式的行为必须与原始表达式相同。

因此,为了匹配'abc /',所需的模式为abc\/,则/abc\//.source必须为abc\/

而BTW:

(new RegExp('abc/')).source == 'abc\/';