const regex = /(.+):(\d+):\s*(syntax\serror,\s)?(.+)/g;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(.+):(\\d+):\\s*(syntax\\serror,\\s)?(.+)', 'g')
const str = `C:/Users/Landon/Desktop/bad.rb:2: syntax error, unexpected =>, expecting '}'
'key' => 'value',
^
C:/Users/Landon/Desktop/bad.rb:2: syntax error, unexpected ',', expecting '}'
C:/Users/Landon/Desktop/bad.rb:3: syntax error, unexpected =>, expecting '}'
'other key' => 'value missing closing tick
^
C:/Users/Landon/Desktop/bad.rb:3: unterminated string meets end of file
C:/Users/Landon/Desktop/bad.rb:3: can't find string "asdf" anywhere before EOF
C:/Users/Landon/Desktop/bad.rb:3: unknown regexp optionwxyz - asdf
C:/Users/Landon/Desktop/bad.rb:3: invalid multibyte char (asdf)
C:/Users/Landon/Desktop/bad.rb:3: unterminated regexp meets end of file
C:/Users/Landon/Desktop/bad.rb:3: unterminated here document identifier
C:/Users/Landon/Desktop/bad.rb:3: incomplete character syntax
C:/Users/Landon/Desktop/bad.rb:3: unterminated quoted string meets end of file
C:/Users/Landon/Desktop/bad.rb:3: \`\$' without identifiers is not allowed as a global variable name
C:/Users/Landon/Desktop/bad.rb:3: \`\$asdf' is not allowed as a global variable name
C:/Users/Landon/Desktop/bad.rb:3: \`@' without identifiers is not allowed as an instance variable name
C:/Users/Landon/Desktop/bad.rb:3: \`@@' without identifiers is not allowed as a class variable name
C:/Users/Landon/Desktop/bad.rb:3: \`@asdf' is not allowed as an instance variable name
C:/Users/Landon/Desktop/bad.rb:3: \`@@asdf' is not allowed as a class variable name
C:/Users/Landon/Desktop/bad.rb:3: embedded document meets end of file
C:/Users/Landon/Desktop/bad.rb:3: Invalid char \`\\\\x%02X' in expression
C:/Users/Landon/Desktop/bad.rb:3: string literal encodings differ (asdf / wxyz)
C:/Users/Landon/Desktop/bad.rb:3: identifier %"PRIsVALUE" is not valid to get
C:/Users/Landon/Desktop/bad.rb:3: identifier asdf is not valid to get
C:/Users/Landon/Desktop/bad.rb:3: identifier %"PRIsVALUE" is not valid to set
C:/Users/Landon/Desktop/bad.rb:3: invalid local variable - asdf
C:/Users/Landon/Desktop/bad.rb:3: both block arg and actual block given
C:/Users/Landon/Desktop/bad.rb:3: Can't set variable \$asfd
C:/Users/Landon/Desktop/bad.rb:3: block argument should not be given
C:/Users/Landon/Desktop/bad.rb:3: regexp encoding option 'asdf' differs from source encoding 'wxyz'`;
// 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