gpt4 book ai didi

javascript - 测试正则表达式的相等性

转载 作者:可可西里 更新时间:2023-11-01 01:59:20 25 4
gpt4 key购买 nike

我很惊讶地看到了

/a/ === /a/

在 JavaScript 中计算为 false。通读the specs :

Two regular expression literals in a program evaluate to regular expression objects that never compare as === to each other even if the two literals' contents are identical.

既然===不能用来判断是否相等,那么JavaScript中如何判断正则表达式是否相等?

最佳答案

这是一个甚至涵盖了标志排序的案例。

function regexEqual(x, y) {
return (x instanceof RegExp) && (y instanceof RegExp) &&
(x.source === y.source) && (x.global === y.global) &&
(x.ignoreCase === y.ignoreCase) && (x.multiline === y.multiline);
}

测试:

regexEqual(/a/, /a/) // true
regexEqual(/a/gi, /a/ig) // also true.
regeXEqual(/a/, /b/) // false

关于javascript - 测试正则表达式的相等性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10776600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com