const regex = /at .*\.(\w*) \(.*js\/(\w*)\/(?!logger)(\w*)\..{2,4}:(\d*:\d*)\)/g;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('at .*\\.(\\w*) \\(.*js\\\/(\\w*)\\\/(?!logger)(\\w*)\\..{2,4}:(\\d*:\\d*)\\)', 'g')
const str = `Error
at getCallerTag (http://localhost:4577/js/base/logger.js:31:17)
at Object.logIt (http://localhost:4577/js/base/logger.js:25:18)
at Object.debug (http://localhost:4577/js/base/logger.js:11:12)
at HTMLInputElement.updateFileNames (http://localhost:4577/js/modules/pdf.js:12:11)
at HTMLInputElement.n.event.dispatch (http://localhost:4577/vendor/js/jquery-2.2.3.min.js:3:7537)
at HTMLInputElement.r.handle (http://localhost:4577/vendor/js/jquery-2.2.3.min.js:3:5620)
> match[1] = 'updateFileNames', match[2] = 'modules', match[3] = 'pdf', match[4] = '12:11'
Error
at getCallerTag (http://localhost:4577/js/base/logger.js:31:17)
at Object.logIt (http://localhost:4577/js/base/logger.js:25:18)
at Object.debug (http://localhost:4577/js/base/logger.js:11:12)
at Object.Foo (http://localhost:4577/js/base/components.js:75:21)
at HTMLInputElement.n.event.dispatch (http://localhost:4577/vendor/js/jquery-2.2.3.min.js:3:7537)
at HTMLInputElement.r.handle (http://localhost:4577/vendor/js/jquery-2.2.3.min.js:3:5620)
> match[1] = 'Foo', match[2] = 'base', match[3] = 'components', match[4] = '75:21'`;
// 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