const regex = new RegExp('([\\w\\s]+)\\(dir\\. ([\\w\\s]+) \\| ([\\w\\s]+) \\| (\\d{4}) \\| (\\d+ min)\\)(.*?)((?:\\d{1,2} de [a-z]+ \\| [\\w\\-]+ \\| \\d{1,2}[hH]\\s*)+)', 'gms')
const str = `REDENÇÃO
(dir. Roberto Pires | Brasil | 1958 | 61 min)
Newton e Raul, dois jovens rapazes catadores de coco em um bairro pobre de Salvador, dão abrigo a um homem estranho e peculiar que chegou no meio da noite com o carro quebrado. No dia seguinte, os dois saem de casa e deixam o estranho trancado em casa; quando a noiva de Newton chega à casa no período da noite, o estranho tenta atacá-la.
21 de agosto | segunda-feira | 16h
25 de agosto | sexta-feira | 19h
30 de agosto | quarta-feira | 16h`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions