const regex = /\b((?<street>(\p{L}[ ]?[-.]*)+ [0-9]{1,3}([ ]?[A-Za-z])?))\b|\b((?<zipcode>([A-Z-]+)?[0-9]+)[, ](?<city>(\p{L}[- ]?)+))\b/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('\\b((?<street>(\\p{L}[ ]?[-.]*)+ [0-9]{1,3}([ ]?[A-Za-z])?))\\b|\\b((?<zipcode>([A-Z-]+)?[0-9]+)[, ](?<city>(\\p{L}[- ]?)+))\\b', 'gm')
const str = `Michael Hohmann P.v.-Mallinckrodt-Weg 13a
Experte für Marketing Automatisierung 33154 Salzkotten
Tel: (0 52 58) 9 90 90-0
Dianastraße 1 030 - 40 39 33 33
13469 Berlin mhugo@stahlsdfsdf.berlin
Dipl.Ing. Arch. Innenraum Großgörschenstrasse 5
10827 Berlin Schöneberg
Geschäftsführer Gubeslstrasse 24
M +41 79 999 99 99 CH-6300 Zug
Friedrichstraße 94
Telefon +49 30 33333-33333 10117 Berlin
Mobil +49 333 3333333 Lichtenberger Straße 17 a
wilfreid.kroll@sdfsdf.de 10243 Berlin
Unit 13, Le Moulin, Rue de Bali
Pereybére 99999, Mauritius
Wolfgang Leobner Unterer Grund 10
Ressavarstraße 45, A-9384 Hartberg
General Manager Horbeller Straße 33
Poppelsdorfer Allee 89
93828 Bonn
Carl-Benz-Straße 13
D-82937 Schweinfurt
Luisenstraße 33 | 93720 Bad Dürrheim
Schwändi 7 * 8486 Rikon
Bogener Straße 8 94827 Neukirchen
93939 Neuötting
83927 Mannheim-Schönau
Wörrst Straße 3
Türrschmidtstr. 2a
Lambertusweg 2
Lerchenweg 4
D-29304 Eching am Ammersee
Schönbuchstr. 34
Neuenhofer Str. 7
Meinekeestr. 26, 29304 Berlin
Carmenstraße 17 - 18
13432 Werder (Havel)
Lenelshof 1 99930 Ratingen
Rothenbasdfchaussee 80c
Poller Kirchweg 990
Poller Kirchweg 9903
Weilstetter Weg 34B
Gartenstraße 88U Fax: 93 (0) 33333 - 33333
09392 Crottendorf Email: info@sdfsdf.de
hauptstr.51
Pantelsdfs Str. 33, A-3929 St. Pantaleon, Austria
D - 88889 Dreieich
Bahnhofstr. 77 93000 Kornewestheim Tel. 929293-39392
Friedrichstraße 180 - 39302 Berlin
Kupferteichweg 39 44444 Hamburg
HEP Immobilien GmbH - Willicher Straße 1 - 33333 Willich
Rosengasse 19
A-3456 Groß Enzersdorf
Karsten Poppe Neue Straße 22
Finanz-/Versicherungmakler 33333 Wildeshausen
`;
// 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