Imagina un texto como en este ejemplo:
some unimportant content some unimportant content [["string1",1,2,5,"string2"]] some unimportant content some unimportant content Necesito un patrón REGEX que coincida con las partes en [[ ]] y necesito hacer coincidir cada parte individualmente separada por comas.
ya lo intenté
const regex = /\[\[(([^,]*),?)*\]\]/g const found = result.match(regex)pero no funciona como se esperaba. Solo coincide con la cadena completa y no tiene coincidencias de grupo. También tiene un retroceso catastrófico según regex101.com si el texto de muestra es más grande.
La salida debe ser una matriz JS ["string1", 1, 2, 5, "string2"]
Gracias por tus sugerencias.
¿Qué tal ir con un patrón simple como /\[\[(.*)\]\]/g y luego solo tendría que dividir el resultado (y aparentemente eliminar esas comillas adicionales):
const result = `some unimportant content some unimportant content [["string1",1,2,5,"string2"]] some unimportant content some unimportant content`; // const found = /\[\[(.*)\]\]/g.exec(result); const found = /\[\[(.*?)\]\]/g.exec(result); // As suggested by MikeM const arr_from_found = found[1].replace(/\"/g, '').split(','); console.log(arr_from_found); // [ 'string1', '1', '2', '5', 'string2' ]Pruebe el método de reemplazo.
let cleantext = result.replace("[", "")después
let more_cleantext = cleantext.replace("]", "")pero si su variable de resultado es una matriz, entonces solo
result[0]