假设我有要比较的不区分大小写的字符串,
const a = 'b'
const c = 'B'
因此,为了比较这些,我使用了该match()方法,但它适用于静态字符串,例如我们可以使用 / 进行不区分大小写的比较。
例如。a.match(/b/),但是如果我有一个变量test1 = 'b'和test2 = 'B' ,我需要动态地执行它,但是当这样做时,test1.match(/test2/)它会得到“test2”作为字符串,但我需要值('B')它。
假设我有要比较的不区分大小写的字符串,
const a = 'b'
const c = 'B'
因此,为了比较这些,我使用了该match()方法,但它适用于静态字符串,例如我们可以使用 / 进行不区分大小写的比较。
例如。a.match(/b/),但是如果我有一个变量test1 = 'b'和test2 = 'B' ,我需要动态地执行它,但是当这样做时,test1.match(/test2/)它会得到“test2”作为字符串,但我需要值('B')它。
您可以使用RegExp构造函数创建一个依赖于变量值的动态正则表达式。
function isMatch(str, testCase) {
var rgx = new RegExp(testCase);
return str.match(rgx);
}
console.log(isMatch("b", "b"));
console.log(isMatch("b", "B"));
console.log(isMatch("hello world", "hello"));
console.log(isMatch("hello world", "hi"));
查看MDN了解更多信息。