const regex = /SessionStartTime=(?<date>[^|]*)\|LogEventId=(?<LogEventId>[^|]*)\|action=(?<action>[^|]*)\|login=(?<login>[^|]*)\|account=(?<tag1>[^|]*)\|sip=(?<sip>[^|]*)\|UserName=(?<tag2>[^|]*)\|group=(?<group>[^|]*)\|responsecode=(?<responsecode>[^|]*)\|result=(?<result>[^|]*)\|dname=(?<dname>[^|]*)\|sessiontype=(?<sessiontype>[^|]*)\|(?<vendorinfo>[^ ]*)$/gmi;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('SessionStartTime=(?<date>[^|]*)\\|LogEventId=(?<LogEventId>[^|]*)\\|action=(?<action>[^|]*)\\|login=(?<login>[^|]*)\\|account=(?<tag1>[^|]*)\\|sip=(?<sip>[^|]*)\\|UserName=(?<tag2>[^|]*)\\|group=(?<group>[^|]*)\\|responsecode=(?<responsecode>[^|]*)\\|result=(?<result>[^|]*)\\|dname=(?<dname>[^|]*)\\|sessiontype=(?<sessiontype>[^|]*)\\|(?<vendorinfo>[^ ]*)$', 'gmi')
const str = `SessionStartTime=2/21/2021 6:36:37 PM|LogEventId=1898|action=Successful login with database selected|login=1191180|account=RUBRI1|sip=192.168.0.22|UserName=Rick Rubner|group=3|responsecode=0|result=|dname=USDF11V0835\\LTEPICPR|sessiontype=|vendorinfo=LTEPIC
\\|\\s+(?<sip>[^ ]*)\\s+\\|\\s+(?<login>[^ ]*)\\s+\\|\\s+(?<action>[^|]*)\\s+\\|\\s+(?<vendorinfo>[^ ]*)\$`;
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