Supongamos que tengo cadenas que no distinguen entre mayúsculas y minúsculas para compararlas como,
const a = 'b'
const c = 'B'
Entonces, para comparar estos, usé el método match()
, pero funciona para cadenas estáticas como podemos usar / para hacer una comparación que no distingue entre mayúsculas y minúsculas.
P.ej. a.match(/b/)
, pero necesito hacerlo dinámicamente como si tuviera una variable, test1 = 'b' y test2 = 'B' , pero cuando hago esto test1.match(/test2/)
se obtiene "test2" como cadena pero necesito el valor ('B') en él.
Puede usar el constructor RegExp
para crear una expresión regular dinámica que dependa del valor de la variable.
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"));
Consulte MDN para obtener más información.