const regex = /\x19A(\d*)d\[?(\d*)?\]?(.*)-(\S+)\s(\d+)\x0C?(.*)?\x18|\x19A(\d*)d(\S*)\s?(\d*)\:?(.*)\x18|RECV,4,(\d*),\[?(\d*)?\]?(.*)-(\S+)\s(\d+)\%?0?C?(.*)?|RECV,4,(\d*),(\S*)\s?(\d*)\:?(.*)\s/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('\\x19A(\\d*)d\\[?(\\d*)?\\]?(.*)-(\\S+)\\s(\\d+)\\x0C?(.*)?\\x18|\\x19A(\\d*)d(\\S*)\\s?(\\d*)\\:?(.*)\\x18|RECV,4,(\\d*),\\[?(\\d*)?\\]?(.*)-(\\S+)\\s(\\d+)\\%?0?C?(.*)?|RECV,4,(\\d*),(\\S*)\\s?(\\d*)\\:?(.*)\\s', 'gm')
const str = `A0707288dMessage
A0707288dMessage 1
A0707288dMessage 1:Cancel 1
A0707288dMessage-Location. 3
A0707288dMessage-Location. 3:Cancel 3
A0707288dMessage-Location. 3V1
A0707288dMessage-Location. 3:Cancel 3V1
A0707288d[00]Message-Location. 3
A0707288d[00]Message-Location. 3:Cancel 3
A0707288d[00]Message-Location. 3V1
A0707288d[00]Message-Location. 3:Cancel 3V1
RECV,4,0707288,Message
RECV,4,0707288,Message 1
RECV,4,0707288,Message 1:Cancel 1
RECV,4,0707288,Message-Location. 3
RECV,4,0707288,Message-Location. 3:Cancel 3
RECV,4,0707288,Message-Location. 3%0CV1
RECV,4,0707288,Message-Location. 3:Cancel 3%0CV1
RECV,4,0707288,[00]Message-Location. 3
RECV,4,0707288,[00]Message-Location. 3:Cancel 3
RECV,4,0707288,[00]Message-Location. 3%0CV1
RECV,4,0707288,[00]Message-Location. 3:Cancel 3%0CV1`;
// 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