2012-01-24 23 views
5

Sto cercando di catturare una sezione di testo ebraico (l'origine è commenti su un sito di notizie) con la seguente espressione regolare:Come catturare l'ebraico con regex in Java?

[\u0590-\u05FF \\p{Graph} \\s]+ 

funziona per la maggior parte dei commenti, ma alcuni commenti sono mancati.

Ho provato a eseguire il debug di questo e sembra che ci sia una lettera ebraica che non corrisponde al modello.

Quando estraggo questa lettera e stampare il suo valore intero sembra essere corretto, ma ancora l'espressione regolare non prenderlo ...

idee?

+0

Usi 'Pattern.UNICODE_CASE' nel metodo' Pattern.compile'? –

+0

No, dovrei? – lribinik

+0

Provalo: 'Modello p = Pattern.compile (" YOUR_REGEX ", Pattern.UNICODE_CASE);' –

risposta

0

sarebbe più corretto utilizzare sematically \p{InHebrew} invece di \u0590-\u05FF

Inoltre è necessario far corrispondere punteggiatura, cifre (almeno, quelli comuni in tutto il mondo) e diversi tipi di spazi. Non so cosa sia \p{Graph} e ci sono simboli di punteggiatura specifici per l'ebraico, ma a quanto pare hai perso alcune parti.