Al tener una matriz de cadenas, quiero filtrar (identificar) las cadenas que contienen un número seguido de 'xyz'.
Input: ['Carrot 22xyz', 'Mango', 'Banana 8xyz each', 'Kiwi'] Output: ['Carrot 22xyz', 'Banana 8xyz each']Puede usar el filtro de matriz usando la siguiente expresión regular
/\dxyz/ const arr = ["Carrot 22xyz", "Mango", "Banana 8xyz each", "Kiwi"]; const result = arr.filter((s) => s.match(/\dxyz/)); console.log(result); Nota: Esto también filtrará el resultado si un number seguido de xyz es parte de una cadena como "apple4xyz", "mango69xyzfast",
Si solo desea filtrar lo que no forma parte de una subcadena, puede hacer lo siguiente:
/\b\d+xyz\b/ const arr = [ "Carrot 22xyz", "Mango", "Banana 8xyz each", "Kiwi", "apple4xyz", "mango69xyzfast", ]; const result = arr.filter((s) => s.match(/\b\d+xyz\b/)); console.log(result);La expresión regular que necesita es /\dxyz/ . Así es como lo usas
const input = ['Carrot 22xyz', 'Mango', 'Banana 8xyz each', 'Kiwi'] console.log(input.filter(mabFruit => /\dxyz/.test(mabFruit)));