如何检查两个正则表达式是否相同?

时间:2016-03-31 08:42:53

标签: javascript regex equality

如果JavaScript,/\.scss$/是正则表达式。我想检查正则表达式是否与另一个正则表达式完全相同,但是:

/\.scss$/ === /\.scss$/ // false

我该怎么做?请注意,我不关心正则表达式匹配的内容,我只关心正则表达式的定义方式。

2 个答案:

答案 0 :(得分:2)

使用.toString

/\.scss$/.toString() === /\.scss$/.toString() // true

使用RegExp对象时,更容易看到发生了什么:

new RegExp("ab+c").toString() === new RegExp("ab+c").toString() // true

new RegExp("ab+c") === new RegExp("ab+c") // false

答案 1 :(得分:0)

如何使用来源属性?

/\.scss$/.source === /\.scss$/.source && /\.scss$/.flags === /\.scss$/.flags

比使用 toString 功能更快。 http://jsperf.com/source-vs-tostring

enter image description here