Petit exemple de code
public Set<ProductionsTextePages> parseStringForPages(String str, Productions production) {
Matcher m = Pattern.compile("(###PAGE###(.*)###+)+").matcher(str);
Integer nombre = 1;
HashSet<ProductionsTextePages> pages = new HashSet<>();
ProductionsTextePages page = null;
Integer debut = null;
int fin;
while(m.find()) {
if(nombre > 1) {
fin = m.start();
page.setTexteBrut(str.substring(debut,fin));
pages.add(page);
}
page = new ProductionsTextePages();
page.setNumero(nombre);
page.setProduction(production);
debut = m.end();
page.setLabel(this.parseStringForPageNumber(m.group()));
nombre++;
}
return pages;
}