const regex = /(?i)PODATNIK\:[\s\a]*(?<NAZWA>[\S ]*)(?<KODPOCZTOWY>\d{2}-\d{3} )(?<LOKALIZACJA>[a-ż ]+)[\s\a]*ORYGINAŁ[\s\a]*\k<LOKALIZACJA>,[\s]*(?<DATA>\d{4}-\d{2}-\d{2})[\s\a]*(?<ULICA>[a-ż 0-9]*)[\s\a]*Bank[\s]*:[\s]*(?<BANK>[\w ]*)[\s\a]*NIP[\s]*:[\s]*(?<NIP>\d{3}-\d{3}-\d{3})[\s\a]*Konto[\s]*:[\s]*(?<KONTO>\d{26})[\s\a\S]*FAKTURA VAT[\s]*(?<NRFAKTURY>\d{2}\/\d{2}\/\d{4})*[\s\a]*Data wystawienia[\s\:]*(?<DATAWYSTAWIENIA>\d{4}-\d{2}-\d{2})[\s]*Data sprzedaży[\s\:]*(?<DATASPRZEDAZY>\d{4}-\d{2}-\d{2})[\s\a]*Na podstawie[\s\:]*(?<NAPODTSAWIE>[a-ż]\d{5}),[\s\a]*z dnia[\s]*:[\s]*(?<ZDNIA>\d{4}[-]?\d{2}[-]?\d{2})[\s\a]*NABYWCA[\s]*:[\s]*(?<NABYWCA>[\S ]*)[\s\a]*\(811\)[\s]*:[\s]*(?<ULICA2>[a-ż 0-9]*\d[a-z]{1,3} )(?<MIASTO>[a-ż]*)[\s\a]*,[\s\a]*(?<KODPOCZTOWY2>\d{2}[-]?\d{3})[\s\a]*N2P[\s]*:[\s]*(?<N2P>\d{3}[-]?\d{3}[-]?\d{2}[-]?\d{2})[\s\a]*Operator prowadzący[\s]*:[\s]*(?<OPERATOR>[a-ż ]*),[\s]*Tel.[\s]*:[\s]*(?<TEL>[0-9]{9}|[0-9 ]*)/gmu;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(?i)PODATNIK\\:[\\s\\a]*(?<NAZWA>[\\S ]*)(?<KODPOCZTOWY>\\d{2}-\\d{3} )(?<LOKALIZACJA>[a-ż ]+)[\\s\\a]*ORYGINAŁ[\\s\\a]*\\k<LOKALIZACJA>,[\\s]*(?<DATA>\\d{4}-\\d{2}-\\d{2})[\\s\\a]*(?<ULICA>[a-ż 0-9]*)[\\s\\a]*Bank[\\s]*:[\\s]*(?<BANK>[\\w ]*)[\\s\\a]*NIP[\\s]*:[\\s]*(?<NIP>\\d{3}-\\d{3}-\\d{3})[\\s\\a]*Konto[\\s]*:[\\s]*(?<KONTO>\\d{26})[\\s\\a\\S]*FAKTURA VAT[\\s]*(?<NRFAKTURY>\\d{2}\\\/\\d{2}\\\/\\d{4})*[\\s\\a]*Data wystawienia[\\s\\:]*(?<DATAWYSTAWIENIA>\\d{4}-\\d{2}-\\d{2})[\\s]*Data sprzedaży[\\s\\:]*(?<DATASPRZEDAZY>\\d{4}-\\d{2}-\\d{2})[\\s\\a]*Na podstawie[\\s\\:]*(?<NAPODTSAWIE>[a-ż]\\d{5}),[\\s\\a]*z dnia[\\s]*:[\\s]*(?<ZDNIA>\\d{4}[-]?\\d{2}[-]?\\d{2})[\\s\\a]*NABYWCA[\\s]*:[\\s]*(?<NABYWCA>[\\S ]*)[\\s\\a]*\\(811\\)[\\s]*:[\\s]*(?<ULICA2>[a-ż 0-9]*\\d[a-z]{1,3} )(?<MIASTO>[a-ż]*)[\\s\\a]*,[\\s\\a]*(?<KODPOCZTOWY2>\\d{2}[-]?\\d{3})[\\s\\a]*N2P[\\s]*:[\\s]*(?<N2P>\\d{3}[-]?\\d{3}[-]?\\d{2}[-]?\\d{2})[\\s\\a]*Operator prowadzący[\\s]*:[\\s]*(?<OPERATOR>[a-ż ]*),[\\s]*Tel.[\\s]*:[\\s]*(?<TEL>[0-9]{9}|[0-9 ]*)', 'gmu')
const str = `PODATNIK:
Rogum Kable Sp. z o.o. 83-000 Pruszcz Gdański
ORYGINAŁ
Pruszcz Gdański, 2020-04-28
Gruńwaldzka 66
Bank: Bank Polska Kasa Opieki SA
NIP : 000-111-111
Konto: 57124012681111001033385998
/
FAKTURA VAT 07/04/2020
Data wystawienia : 2020-04-28 Data sprzedaży : 2020-04-28
Na podstawie : T59999, z dnia: 2019-12-28
NABYWCA : Pojazdy Szynowe PESA Bydgoszcz S.A.
(811) : Zygmunta Augusta 11avb Bydgoszcz, 85-082
N2P : 554-031-17-75
Operator prowadzący : Łukasz Czajkowski, Tel.: 506234233, E-mail: l.czajkowski@rogum.com.pl
/
Poprzednie zaliczki/zadatki: Fzal 54/04/2020 2020-04-06 (246 000,00)
Lp
Nazwa pełna
Ilość
Jm
Cena
Wartość
Stawka
Wartość
Wartość
Indeks (K)
NETTO PL
NETTO PLN
VAT
VAT PLN
BRUTTO PLN
1
LiHCH 0,6/1kV 3x1,5
200
m
2,70
540,00
23%
124,20
664,20
9124-1100-000-075
2
LiHCH 0,6/1kV 3x1,5
86
m
2,70
232,20
23%
53,41
285,61
9124-1100-000-075
PRZED ODLICZ. ZAL./ZAD. - Zestawienie podatku VAT
Netto
Stawka
VAT
Brutto
772,20
23%
177,61
949,81
ODLICZENIE ZAL./ZAD. - Zestawienie podatku VAT
Netto
Stawka
VAT
Brutto
-772,20
23%
-177,61
-949,81
Zestawienie podatku VAT
Netto
Stawka
VAT
Brutto
RAZEM (2 Poz.)
0,00
0,00
0,00
SUMA OGÓŁEM
0,00
Słownie : zero złotych, zero groszy
DO ZAPŁATY : 0,00 zł Rozliczono
Sara Żołnowska
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
podpis osoby upoważnionej pieczęć i podpis wystawiającego do odbioru Faktury VAT
Druk Streamsoft PRESTIŻ lic. 5529 v. 7.0.347.168 Str. 1 z 1`;
// 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