$re = '/(^ (?<Desc>[\s\S]*?) (?<QteComm>(?:[0-9]+)) (?<QteRecu>(?:[0-9]+)) (?<QteBO>(?:[0-9]*)) [$](?<PrixUnitaireF>(?:[0-9]+)\.(?:[0-9]+))[\s]+(?:(?<Escompte>(?:[0-9]+).(?:[0-9,]+)) %)?[\s]+(?<total_item>(?:[0-9]*[,]?[0-9]+)\.(?:[0-9]+))[\s]+[\r\n|\r|\n])/m';
$str = 'Date commandée Date de facture Commandé par Expédié par Votre numéro de commande
04-OCT-2022 05-DÉC-2022 LIVRE DIRECT 786q23teqwuye
Date d\'expédition No. de compte No. Commis Notre No. commande
No. livraison manuel
05-DÉC-2022 358 MIB 21q24242456013
Quantité
Prix
No. Produit Description Escompte Montant
Commandé Livré unitaire
Souffrance
e e
32_SSL-
PNI SSL-LH/480/20/40/287/DC/D 112 112 $73211.4800 8,022.44
LHB3/170/40/120/3
32_SSL- PNI AlloCie SSL-
6 6 $2.2700 17.48
LHB3/LV2/12V/CO LHB3/LV2/12V/CONTROLLER2
32_SSL-
PNI AlloCie SSL-LH/LV/90V/SEN3erw2 175 175 $3.1100 4,044.25
LH/LV/90V/SEN
livrer direct ref: s245354-5235
SOUS-TOTAL $1,041.31
TRANSPORT $0.00
FRAIS DIVERS $0.00
T.P.S. $151.07
T.V.Q. $296.38
';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
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 PHP, please visit: http://php.net/manual/en/ref.pcre.php