const regex = /\b(\d{10}) {6}\t(\d{10})\b(?=[\s\S]*\b\1 {6}\t\2)\b/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('\\b(\\d{10}) {6}\\t(\\d{10})\\b(?=[\\s\\S]*\\b\\1 {6}\\t\\2)\\b', 'gm')
const str = `+----------------+---------------+------------+
| Reference Date | Instrument ID | Entity ID |
+----------------+---------------+------------+
| 2019-06-28 4251675720 1000183742 |
+----------------+---------------+------------+
| 2019-06-28 4251675720 1000183742 |
+----------------+---------------+------------+
| 2019-06-28 2113750655 100065856 |
+----------------+---------------+------------+
| 2019-06-28 3512075270 1002923999 |
+----------------+---------------+------------+
| 2019-06-28 4251998103 1003890261 |
+----------------+---------------+------------+
| 2019-06-28 4239113350 1004043945 |
+----------------+---------------+------------+
| 2019-06-28 8569030255 1004043945 |
+----------------+---------------+------------+
| 2019-06-28 6692802619 1004584989 |
+----------------+---------------+------------+
| 2019-06-28 6751615521 1005048991 |
+----------------+---------------+------------+
| 2019-06-28 1338818134 1005076529 |
+----------------+---------------+------------+
| 2019-06-28 1903780287 1005519781 |
+----------------+---------------+------------+
| 2019-06-28 3023132803 1005535434 |
+----------------+---------------+------------+
| 2019-06-28 3075990149 1006443568 |
+----------------+---------------+------------+
| 2019-06-28 1821112520 1007165898 |
+----------------+---------------+------------+
| 2019-06-28 4249904989 100753094 |
+----------------+---------------+------------+
| 2019-06-28 4230960972 1009300504 |
+----------------+---------------+------------+
| 2019-06-28 2254190165 1010611747 |
+----------------+---------------+------------+
`;
// 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