Esplora la magia dell’utilizzo delle espressioni regolari per effettuare ricerche nel codice Java! Nel mondo della programmazione, pensa alle espressioni regolari come codici segreti che ci aiutano a trovare informazioni specifiche nel testo. Questo articolo ti insegnerà le basi della ricerca con le espressioni regolari in Java, così potrai effettuare ricerche intelligenti tra documenti in diversi formati di file nelle cartelle.
API Java per la ricerca Regex nei documenti tramite Regex
Per eseguire la ricerca Regex, utilizzeremo l’API GroupDocs.Search for Java. Con questa API possiamo cercare testo specifico in file di formati diversi tra cartelle, semplicemente assegnandogli il modello regex. Questo strumento ci consente di cercare testo in vari tipi di file, come documenti Word, fogli di calcolo, presentazioni, file PDF, file Markup, eBook, messaggi e-mail, documenti One Note e archivi ZIP, il tutto in modo programmatico.
Per ottenere un elenco dettagliato dei formati di file supportati, consulta la documentazione dettagliata.
Hai due opzioni per ottenere il file JAR: scaricarlo dalla sezione download o incorporare le ultime configurazioni del repository e delle dipendenze Maven direttamente nelle tue applicazioni Java.
Ricerca nei file con Regex utilizzando Java
Ecco i semplici passaggi su come condurre una ricerca regex in più file di formati diversi all’interno di cartelle utilizzando Java. Successivamente, puoi creare facilmente file di output HTML evidenziati per ciascun documento individuato.
- Inizia creando un Indice specificando il percorso della cartella.
- Aggiungi il percorso della cartella principale in cui desideri cercare nell’indice appena creato.
- Imposta la query di ricerca regex.
- Utilizzare il metodo di ricerca per eseguire la ricerca e ottenere i risultati.
- Ora puoi consultare Risultati della ricerca e generare l’output desiderato secondo le tue preferenze.
La regex nel codice seguente rileva parole con caratteri ripetuti consecutivi, come concorda, chiama e presto. Questo codice Java effettua una ricerca veloce utilizzando regex in vari file di formati diversi all’interno di cartelle diverse.
// Regex Cerca più file in cartelle utilizzando Java
// Creare una cartella indice e aggiungervi la cartella del documento
Index index = new Index("path/indexing-folder-path");
index.add("path/parent-folder");
// Preparare la query e la ricerca Regex
// Regex qui serve per identificare tutte le parole che hanno caratteri ripetuti consecutivi.
String query = "^(.)\\1{1,}";
SearchResult result = index.search(query);
Di seguito, ho evidenziato i risultati della ricerca regex nel codice fornito:
Stampa dei risultati della ricerca
Il seguente codice Java offre due metodi per visualizzare i risultati della ricerca:
- Evidenzia tutte le parole scoperte.
- Stampa i risultati in un formato facile da leggere e analizzare.
// Evidenziazione e stampa dei risultati della ricerca Regex per tutti i documenti
for (int i = 0 ; i < result.getDocumentCount(); i++)
{
FoundDocument document = result.getFoundDocument(i);
OutputAdapter outputAdapter = new FileOutputAdapter(OutputFormat.Html, "path/Highlight" + i + ".html");
Highlighter highlighter = new DocumentHighlighter(outputAdapter);
index.highlight(document, highlighter);
System.out.println("\tDocument: " + document.getDocumentInfo().getFilePath());
System.out.println("\tOccurrences: " + document.getOccurrenceCount());
for (FoundDocumentField field : document.getFoundFields()) {
System.out.println("\t\tField: " + field.getFieldName());
System.out.println("\t\tOccurrences: " + field.getOccurrenceCount());
// Stampa dei termini trovati
if (field.getTerms() != null) {
for (int k = 0; k < field.getTerms().length; k++) {
System.out.println("\t\t\t" + field.getTerms()[k] + " - " + field.getTermsOccurrences()[k]);
}
}
}
}
Document: English.txt
Occurrences: 83
Field: content
Occurrences: 82
acceptance 1
added 1
agreeable 1
agreed 1
all 4
appearance 1
assurance 1
...
===========================================
Document: Lorem ipsum.docx
Occurrences: 945
...
Field: content
Occurrences: 939
accumsan 39
class 7
commodo 40
convallis 38
dignissim 35
efficitur 46
fringilla 40
habitasse 2
laoreet 27
massa 63
mattis 31
...
Ottenere una licenza gratuita o una prova gratuita
Licenza gratuita
Ottieni una licenza temporanea gratuitamente per esplorare questa libreria senza vincoli.
Prova gratuita
Puoi scaricare la versione di prova gratuita dalla sezione download.
Conclusione
In questo articolo, abbiamo esplorato le basi delle meraviglie della ricerca Regex per individuare parole con modelli specifici in una vasta gamma di documenti basati su testo come file DOCX, PDF e TXT in più cartelle utilizzando Java. Successivamente, abbiamo presentato i risultati della ricerca evidenziando le parole identificate e stampandole in un formato chiaro.
Per una comprensione approfondita dell’API, i lettori sono incoraggiati a esplorare la documentazione e il riferimento API.
Eventuali domande o ulteriori discussioni possono essere affrontate nel forum.