const regex = /\[.*\s\S*/g;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('\\[.*\\s\\S*', 'g')
const str = `DeletedFiles: 2
DeletedFolders: 0
ModifiedFiles: 9
ExaminedFiles: 26676
OpenedFiles: 12
AddedFiles: 3
SizeOfModifiedFiles: 83376840
SizeOfAddedFiles: 1418892
SizeOfExaminedFiles: 14088761790
SizeOfOpenedFiles: 84801922
NotProcessedFiles: 0
AddedFolders: 0
TooLargeFiles: 0
FilesWithError: 0
ModifiedFolders: 0
ModifiedSymlinks: 0
AddedSymlinks: 0
DeletedSymlinks: 0
PartialBackup: False
Dryrun: False
MainOperation: Backup
ParsedResult: Success
EndTime: 15. 4. 2018 17:41:38 (1523806898)
BeginTime: 15. 4. 2018 17:39:10 (1523806750)
Duration: 00:02:27.4906343
Messages: [
2018-04-15 17:39:10 +02 - [Information-Duplicati.Library.Main.Controller-StartingOperation]: The operation Backup has started,
2018-04-15 17:39:20 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Started: (),
2018-04-15 17:39:21 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Completed: (726 bytes),
2018-04-15 17:40:31 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b11e3ae12fdc54bebac1b9cd715de2280.dblock.zip.aes (1.27 MB),
2018-04-15 17:40:32 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-b11e3ae12fdc54bebac1b9cd715de2280.dblock.zip.aes (1.27 MB),
2018-04-15 17:40:32 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-i8875b05b15ae41baab0188a3845d5b3d.dindex.zip.aes (29.92 KB),
2018-04-15 17:40:32 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-i8875b05b15ae41baab0188a3845d5b3d.dindex.zip.aes (29.92 KB),
2018-04-15 17:40:33 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-20180415T153910Z.dlist.zip.aes (2.41 MB),
2018-04-15 17:40:35 +02 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-20180415T153910Z.dlist.zip.aes (2.41 MB),
2018-04-15 17:40:35 +02 - [Information-Duplicati.Library.Main.Operation.DeleteHandler:RetentionPolicy-StartCheck]: Start checking if backups can be removed,
...
]
Warnings: []
Errors: []
`;
// 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