Grazie al tuo preziosissimo aiuto, ci siamo quasi!!!!
Ho provato con:
codice:
String str = "[a-zA-Z0-9 \\t]+";
String sep = "\\|";
String digit = "(\\d+)";
String regexp = str + sep + str + sep + digit + sep + digit + sep + digit + sep + str;

//finto catalogo di esempio
String [] record = new String[5];
record[0] = "Battlestar Galactica|Kobol’s Last Gleaming: Part 1|1|2004|12|Sci-Fi";
record[1] = "Friends|The One Where Joey Speaks French|10|2004|231|Sit-Com";
record[2] = "Lost|Exposé|3|2007|63|Drama";
record[3] = "NCIS ciao|Trojan Horse|4|2007|93|Crime Investigation";
record[4] = "The Simpson|Squadra Homer|7| 2005   |10 |Cartoon";
Pattern p = Pattern.compile(regexp);

//scorro il catalogo e controllo gli episodi
for(int i = 0; i < record.length; i++) {
	Matcher m = p.matcher(record[i]);
	if(m.matches())
		System.out.println("La riga " + i + " è corretta > " + record[i]);
	else
		System.out.println("La riga " + i + " NON è corretta > " + record[i]);
}
E l'output è:
codice:
La riga 0 NON è corretta > Battlestar Galactica|Kobol’s Last Gleaming: Part 1|1|2004|12|Sci-Fi
La riga 1 NON è corretta > Friends|The One Where Joey Speaks French|10|2004|231|Sit-Com
La riga 2 NON è corretta > Lost|Exposé|3|2007|63|Drama
La riga 3 è corretta > NCIS ciao|Trojan Horse|4|2007|93|Crime Investigation
La riga 4 NON è corretta > The Simpson|Squadra Homer|7| 2005   |10 |Cartoon
A quanto ho capito leggendo dall'output in relazione agli episodi [a-zA-Z0-9 \\t]+ non include anche caratteri accentati, punteggiatura e cose simili, come si può modificarla in questo caso?

Secondo dubbio: nel caso mi trovi una situazione come: | 2005 |10 |
Sono sempre numeri ma con degli spazi in mezzo (è prevedibile che nel test ci siano righe simili) e (\\d+) in questo caso non me lo riconosce più.E' risolvibile?Avevo pensato ad un replaceAll che mi tolga tutti gli spazi, ma così facendo farei un casino con i titoli e i serial..