Se hai bisogno di trovare una parola o una sottostringa, una buona soluzione è utilizzare l'operatore di controllo dal toolkit delle
espressioni regolari . È indispensabile quando si ha bisogno di trovare qualcosa che segua qualcos'altro.
Esempio semplice
String str = "программируем"; Pattern p = Pattern.compile(".*программ(?=ируем).*"); Matcher m = p.matcher(str); if(m.matches()){ System.out.println("Нашел!"); }else{ System.out.println("Не нашел!"); }
1. Cerca dalla parte anteriore
Nell'esempio sopra, se devi trovare “programmazione”, ma non devi cercare “programmazione”, dovresti utilizzare il seguente schema:
.*программ(?=ируем).*
?= – cerca davanti la presenza di una parola/parte di parola; ?! – cercare frontalmente l'assenza di una parola/parte di parola.
2. Cerca da dietro
La ricerca da dietro funziona in modo simile. È necessario utilizzare ?<= per cercare una parola/parte di parola dietro di essa e ? .*(?<=programmi)noi.* La parola “programma” corrisponde a questo schema, ma la parola “polacco” no.
GO TO FULL VERSION