import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?m)\\d+\\t\\v\\s\\v.+\\v(.+)\\t(.+)\\s\\v(.+)\\s€\\s\\d+,\\d+\\v\\d+";
final String string = "pos Désignation article \n"
+ "articles N° d'origine \n"
+ "Fabricant Prix net H.T \n"
+ "commandé(e) \n"
+ "livré(s) remise Texte de la commande Prix \n"
+ "mise au rebut \n"
+ "1 \n"
+ " \n"
+ "PLATINE, AUDIO RECORDER \n"
+ "F192103 996510063444 \n"
+ "GIBSON/PHILIPS € 25,17\n"
+ "2\n"
+ "2 0 %\n"
+ "€ 0,00 S0630500245392 P000767686 € 55,34\n"
+ "€ 0,00 ouvre la page détaillée de l'article avec la quantité commandée et les références par position \n"
+ " \n\n"
+ "2 \n"
+ " \n"
+ "ASSY-MAIN BOARD HTL316 \n"
+ "G922573 996580008736 \n"
+ "GIBSON/PHILIPS € 12,80\n"
+ "3\n"
+ "3 0 %\n"
+ "€ 0,00 S0630005248395 P000567585 € 38,40\n"
+ "€ 0,00 ouvre la page détaillée de l'article avec la quantité commandée et les références par position \n"
+ " \n\n"
+ "3 \n"
+ " \n"
+ "3300UF25V CHIMI. RADI 105GRAD6X25 \n"
+ "3369044 \n"
+ "€ 0,65\n"
+ "20\n"
+ "20 0 %\n"
+ "€ 0,00 S0630005548392 P005767586 € 13,00\n"
+ "€ 0,00 ouvre la page détaillée de l'article avec la quantité commandée et les références par position \n"
+ " \n\n"
+ "4 \n"
+ " \n"
+ "MOTOR DC <=37.5W \n"
+ "F629401 996580001916 \n"
+ "GIBSON/PHILIPS € 7,71\n"
+ "1\n"
+ "0 0 %\n"
+ "€ 0,00 S0630000548352 P005765686 € 0,00\n"
+ "€ 0,00 ouvre la page détaillée de l'article avec la quantité commandée et les références par position \n"
+ " cet article vous parviendra ultérieurement dans u colis séparé \n\n\n"
+ "5 \n"
+ " \n"
+ "MECH. UNIT, DVD PLAYER \n"
+ "F192078 996510059018 \n"
+ "GIBSON/PHILIPS € 9,95\n"
+ "1\n"
+ "1 0 %\n"
+ "€ 0,00 S0630000548392 P005767686 € 9,95\n"
+ "€ 0,00 ouvre la page détaillée de l'article avec la quantité commandée et les références par position \n"
+ " \n\n"
+ "6 \n"
+ " \n"
+ "MECANIQUE DVD \n"
+ "F192541 996510066471 \n"
+ "GIBSON/PHILIPS € 18,50\n"
+ "19\n"
+ "19 0 %\n"
+ "€ 0,00 S0630000255392 P000765686 € 351,50\n"
+ "€ 0,00 ouvre la page détaillée de l'article avec la quantité commandée et les références par position \n"
+ " \n\n"
+ "7 \n"
+ " \n"
+ "MAIN+DC+USB+WIFI SOCKE \n"
+ "G813754 996580007956 \n"
+ "GIBSON/PHILIPS € 79,25\n"
+ "1\n"
+ "0 0 %\n"
+ "€ 0,00 S0630000248352 P000757686 € 0,00\n"
+ "€ 0,00 ouvre la page détaillée de l'article avec la quantité commandée et les références par position \n"
+ " \n\n"
+ "8 \n"
+ " \n"
+ "BROSSE COMBINÉ \n"
+ "G787239 140030390060 \n"
+ "ELECTROLUX € 29,77\n"
+ "1\n"
+ "1 15 %\n"
+ "€ 4,47 R002788521 P000755686 € 25,30\n"
+ "€ 0,00 ouvre la page détaillée de l'article avec la quantité commandée et les références par position \n"
+ " \n\n"
+ "9 \n"
+ " \n"
+ "ACCU 22,2V \n"
+ "D436440 91708307 \n"
+ "DYSON € 29,75\n"
+ "1\n"
+ "1 15 %\n"
+ "€ 4,46 R002756551 P000767686 € 25,29\n"
+ "€ 0,00 ouvre la page détaillée de l'article avec la quantité commandée et les références par position \n"
+ " \n\n"
+ "10 \n"
+ " \n"
+ "RESSORT DE CUVE \n"
+ "G958435 43011062 \n"
+ "GROUPE CANDY € 4,50\n"
+ "1\n"
+ "1 15 %\n"
+ "€ 0,68 R002792326 P000767686 261177 € 3,82\n"
+ "€ 0,00 ouvre la page détaillée de l'article avec la quantité commandée et les références par position \n"
+ " \n\n"
+ "11 \n"
+ " \n"
+ "REGENERATION UNIT \n"
+ "D18109 1741600500 \n"
+ "€ 6,95\n"
+ "1\n"
+ "1 20 %\n"
+ "€ 1,39 R002788169 P000767686 11872 € 5,56\n"
+ "€ 0,00 ouvre la page détaillée de l'article avec la quantité commandée et les références par position \n"
+ " \n\n"
+ "12 \n"
+ " \n"
+ "POMPE DE VIDANGE ASKOLL 6353334W \n"
+ "5878082 91200173 \n"
+ "GROUPE CANDY € 22,75\n"
+ "1\n"
+ "1 15 %\n"
+ "€ 3,41 R002788982 P000767686 11913 € 19,34\n"
+ "€ 0,00 ouvre la page détaillée de l'article avec la quantité commandée et les références par position \n"
+ " \n\n"
+ "13 \n"
+ " \n"
+ "PRESSOSTAT \n"
+ "Y53031 DC9601703B \n"
+ "SAMSUNG € 22,95\n"
+ "1\n"
+ "1 0 %\n"
+ "€ 0,00 R002789006 P000767686 12156 € 22,95\n"
+ "€ 0,00 ouvre la page détaillée de l'article avec la quantité commandée et les références par position \n"
+ " \n\n"
+ "14 \n"
+ " \n"
+ "016912 RÉSISTANCE DE SOLE 1300W FAGORCA50042A9 \n"
+ "F289696 \n"
+ "€ 22,35\n"
+ "1\n"
+ "1 0 %\n"
+ "€ 0,00 R002789196 P000767686 11966 € 22,35\n"
+ "€ 0,00 ouvre la page détaillée de l'article avec la quantité commandée et les références par position \n"
+ " \n\n\n"
+ "total\n"
+ "Vous avez commandé 14 articles au prix de € 555,55\n"
+ "Frais de recyclage € 0,00\n"
+ "Frais de port € 0,00\n"
+ "20,00 % TVA € 555,55\n"
+ " \n"
+ "Montant de la facture € 555,55\n"
+ "Vue avant impression";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
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 Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html