const regex = /(^|[\s:#])0(?!0{7})\d{7}([\s:a-zA-Z]|$)/g;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(^|[\\s:#])0(?!0{7})\\d{7}([\\s:a-zA-Z]|$)', 'g')
const str = `123 234
10
DETECT: 01234561 wordfromlistc OR wordfromlistd 01234562 OR wordfromlista01234563 OR 01234567wordfromlistb
DON'T DETECT: 00000000 wordfromlist OR wordfromlist 0000000 OR 00000000wordfromlist OR wordfromlist00000000 OR
DON'T DETECT: 01234567- OR -01234567 OR /01234567/, etc
01234567
00000000
00000001
1505848655000-0400
12345678
{"context":{"client":{"clientName":1,"clientVersion":"2.20170920"}},"events":[{"eventTimeMs":1506022852901,"foregroundHeartbeat":{"firstActivityMs":"-1","clientDocumentNonce":"LEPgGrs4OSu6AqVj","index":"8","lastEventDeltaMs":"-1","trigger":"FOREGROUND_HEARTBEAT_TRIGGER_ON_FOREGROUND"},"context":{"lastActivityMs":"1791003"}},{"eventTimeMs":1506022855635,"foregroundHeartbeat":{"firstActivityMs":"2311","clientDocumentNonce":"LEPgGrs4OSu6AqVj","index":"9","lastEventDeltaMs":"2733","trigger":"FOREGROUND_HEARTBEAT_TRIGGER_ON_BACKGROUND"},"context":{"lastActivityMs":"861"}}],"requestTimeMs":1506022865644}
{"context":{"client":{"clientName":1,"clientVersion":"2.20170920"}},"interactions":[{"attachChild":{"csn":"LBnEWZLnFcHs8wTUnKZY","parentVisualElement":{"veType":3854},"visualElements":[{"trackingParams":"CAEQumkiEwiSrfTIh7fWAhVB9pwKHVSOCQsojh4="}]},"eventTimeMs":1506023726765,"lactMs":316},{"attachChild":{"csn":"LBnEWZLnFcHs8wTUnKZY","parentVisualElement":{"veType":3854},"visualElements":[{"veType":23851,"veCounter":1}]},"eventTimeMs":1506023728252,"lactMs":1803},{"attachChild":{"csn":"LBnEWZLnFcHs8wTUnKZY","parentVisualElement":{"veType":3854},"visualElements":[{"veType":36925,"veCounter":2}]},"eventTimeMs":1506023728253,"lactMs":1804},{"attachChild":{"csn":"LBnEWZLnFcHs8wTUnKZY","parentVisualElement":{"veType":3854},"visualElements":[{"veType":28664,"veCounter":3}]},"eventTimeMs":1506023728253,"lactMs":1804},{"attachChild":{"csn":"LBnEWZLnFcHs8wTUnKZY","parentVisualElement":{"veType":3854},"visualElements":[{"veType":28662,"veCounter":4}]},"eventTimeMs":1506023728253,"lactMs":1804},{"attachChild":{"csn":"LBnEWZLnFcHs8wTUnKZY","parentVisualElement":{"veType":3854},"visualElements":[{"veType":28656,"veCounter":5}]},"eventTimeMs":1506023728253,"lactMs":1804},{"attachChild":{"csn":"MhnEWc2FDdHY8gT7qJigAw","parentVisualElement":{"veType":3832},"visualElements":[{"trackingParams":"CAEQumkiEwiSrfTIh7fWAhVB9pwKHVSOCQsojh4="}]},"eventTimeMs":1506023731445,"lactMs":560}],"requestTimeMs":1506023732093}`;
// 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