Java:
Utilizzo delle espressioni regolari
Come fare:
Il supporto integrato di Java per le regex è principalmente attraverso le classi Pattern
e Matcher
nel pacchetto java.util.regex
. Ecco un semplice esempio per trovare e stampare tutte le occorrenze di una parola in una stringa, senza distinguere tra maiuscole e minuscole:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
public static void main(String[] args) {
String text = "Regex è ottimo per l'analisi. Analizzare con regex è potente.";
String parolaDaTrovare = "analisi";
Pattern pattern = Pattern.compile(parolaDaTrovare, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
System.out.println("Trovato '" + matcher.group() + "' in posizione " + matcher.start());
}
}
}
Output:
Trovato 'analisi' in posizione 16
Trovato 'Analizzare' in posizione 31
Per compiti come dividere le stringhe, puoi usare il metodo split()
della classe String
con una regex:
public class SplitExample {
public static void main(String[] args) {
String text = "Java,Python,Ruby,JavaScript";
String[] linguaggi = text.split(",");
for (String linguaggio : linguaggi) {
System.out.println(linguaggio);
}
}
}
Output:
Java
Python
Ruby
JavaScript
Quando lavori con le regex in Java, potrebbero esserci casi in cui una libreria esterna può semplificare compiti complessi. Una delle librerie di terze parti più popolari per lavorare con le regex in Java è Apache Commons Lang
. Offre utility come StringUtils
che rendono alcuni compiti regex più semplici. Ecco come usarlo per contare le occorrenze di una sottostringa:
import org.apache.commons.lang3.StringUtils;
public class CommonsLangExample {
public static void main(String[] args) {
String text = "Regex rende più facile l'elaborazione del testo. Elaborare il testo con regex è efficiente.";
String sottostringa = "elaborazione";
int conteggio = StringUtils.countMatches(text, sottostringa);
System.out.println("'" + sottostringa + "' appare " + conteggio + " volte.");
}
}
Per usare Apache Commons Lang, devi includerlo nel tuo progetto. Se stai usando Maven, aggiungi questa dipendenza al tuo pom.xml
:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version> <!-- Controlla per la versione più recente -->
</dependency>
Output:
'elaborazione' appare 2 volte.