0

假设我有要比较的不区分大小写的字符串,

const a = 'b'

const c = 'B'

因此,为了比较这些,我使用了该match()方法,但它适用于静态字符串,例如我们可以使用 / 进行不区分大小写的比较。

例如。a.match(/b/),但是如果我有一个变量test1 = 'b'test2 = 'B' ,我需要动态地执行它,但是当这样做时,test1.match(/test2/)它会得到“test2”作为字符串,但我需要值('B')它。

正如我尝试过的一样,如下图

4

1 回答 1

1

您可以使用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了解更多信息。

于 2021-11-14T13:25:35.603 回答