const regex = /(?<=\D{3}.\d{2}.\d{4}).*(?<=\D)/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(?<=\\D{3}.\\d{2}.\\d{4}).*(?<=\\D)', 'gm')
const str = `I N V O I C E **** JUL.19,2022
D A T E :
1-21, SHIBAURA 3-CHOME,MINATO-KU,TOKYO, JAPAN
NN390
INVOICE NO.
MITSUBISHI MOTORS AUSTRALIA LIMITED.
1 SIR RICHARD WILLIAMS AVENUE,
ADELAIDE AIRPORT SA 5950 AUSTRALIA
NAME OF VESSEL ON OR ABOUT LOADING PORT
OOCL NEW ZEALAND 115S JUL.30,2022 NAGOYA,JAPAN
DISCHARGING PORT INSURANCE
FREMANTLE,AUSTRALIA
COVERED BY SHIPPER
PAYMENT TERMS
REMITTANCE AT 45 DAYS AFTER B/L DATE
MARK & NOS DESCRIPTION QUANTITY UNIT PRICE AMOUNT
-AS PER SPARE PARTS FOR
ATTACHED SHEET- MITSUBISHI VEHICLES
PCS AUS.DOLLARS
*** ***********
FOB NET 2,553 75,622.32*
PACKING CHARGE 529.36*
FOB NAGOYA JAPAN 76,151.68*
INSURANCE 380.76*
C&I FREMANTLE 76,532.44*
**********
"WE DECLARE THAT THE MACHINERY AND/OR PARTS AND
ACCESSORIES ARE NEW AND UNUSED AND HAVE NOT BEEN FIELD
TESTED OR FACTORY TRIALLED"
PACKING LIST
LOT NO C/S NO GROSS WT NET WT M/M
MASAYUKI SHIBUYA GENERAL MANAGER
GLOBAL AFTER SALES LOGISTICS DEPARTMENT
GLOBAL AFTER SALES DIVISION
MITSUBISHI MOTORS CORPORATION
AV 0
`;
// 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