const regex = /(?<=\D)(41|5|6|81)(?:\s*[^a-zA-Z0-9\s]\s*)(?!20457)\d{5}(?=\D)|(?<=\D)(3|7|8|9)(?:\s*[^a-zA-Z0-9\s]\s*)\d{6}(?=\D)|(?<=\D)(12|13)(?:\s*[^a-zA-Z0-9\s]\s*)\d{4}(?=\D)/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(?<=\\D)(41|5|6|81)(?:\\s*[^a-zA-Z0-9\\s]\\s*)(?!20457)\\d{5}(?=\\D)|(?<=\\D)(3|7|8|9)(?:\\s*[^a-zA-Z0-9\\s]\\s*)\\d{6}(?=\\D)|(?<=\\D)(12|13)(?:\\s*[^a-zA-Z0-9\\s]\\s*)\\d{4}(?=\\D)', 'gm')
const str = `[Anliefer,Lein,PUS918813,Anliefer-Ref .: E230714862/001,BUSAN,CONPAC,CPS Conpac Port Service,8- 190 189,Seite: 1/1,Endbestimmung,: BUSAN,Kunde,: ANLIEFERUNG,HALLE: H5,Kontakt,: Inga.Maier@glovis.eu,Kd.Referenz,: SHAMPUS07236979,Packing Center:,Angenommen,: Ahmad Monir,CPS - CONPAC PORT SERVICE,Telefon,:,INDIASTR. 5,Schiff / ETS,: HMM SOUTHAMPTON / 27.07.2023,20457 HAMBURG,Zollstatus,: UW,Anlieferung,: 12.07.2023 / 08:08,Zolldokument,:,LKW Ifd. Nr.,: 19,Kennzeichen,: HHHZ1921,Marke und Nummer/,Marks and numbers,Anzahl/ Verp .- Art,Inhalt!,Brutto-Gew./,AK72307SGN/15060578/KRASA/0,Qty, Packing type,Contents,Gross weight [kg],AK72307SGN/15060578/KRASA/0,9 PKG,-8 P,120/80/154/8PLTS+120/8,5.397,43,0/114/1PLT/0,1 PL 599.710,Stellplatz: H5,Begasungsstempel: JA 9,Für palettiertes Gut übernehmen wir,NEIN,NICHT NOTWENDIG,keine Gewähr für Stückzahl und Inhalt.,Vollholz,KEIN,MIX,Vollholz,Holzverpackung,(F70),(F72),(F74),2,Anzahl,(abgefertigt durch / Uhrzeit),Kennung Monitur,€17 F35 F51,Anzahl Packstücke,9,9,1,Anzahl,Länge,Breite,Höhe,Anzahl,Länge,Breite,Höhe,F01,Verpackung eingerissen / aufgerissen,F21,FOZ,F03,Vorpacioing vor Anlieferung verklebt,Verpackung feucht befleckt,Verpackung trocken beffeckt,Gefahrgutkennzeichnung fehlt vollständig,F30,Verpackung eingedrückt / verbeult,nicht Oberstaubare Ware bei Anlieferung Diberstaut,F13,FO,Verp. vor Anl. mil Staplergabel eingestochen,Warn wusgerostet,F14,Kanten beschädigt,Inhalt lauft aus,Mariderung ohne hfenplatz,F40,FOR,Sendung nicht trennbar,Skids fehlen,F45,Unterbau /Skids beschädigt,F16,Kolli offen, Inhalt sichtbar,Begasungsstempel nicht lesbar,FD7,Seite beschädigt / offen,F17,Dockal beschädigt / offan,Markierung abweichend,F51,Ware nicht stapalbanibelastber,F52,Markierung fehlt vollständig,Ware nicht auf dem LKW PKG_NA,F18,F63,Folie eingerissen,Sendung ohno IMO Label,Mindermonge auf dem LKW,F19,F10,Band / Elsen gerissen,Mehrmenge auf dem LKW,F20,Sendung ohne UN Label]`;
// 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