Prozkoumejte kouzlo používání regulárních výrazů pro vyhledávání v kódu Java! Ve světě kódování si představte regulární výrazy, jako jsou tajné kódy, které nám pomáhají najít konkrétní informace v textu. Tento článek vás naučí základy vyhledávání pomocí regulárních výrazů v Java, takže můžete chytře prohledávat dokumenty v různých formátech souborů napříč složkami.
Java API pro vyhledávání Regex v dokumentech od Regex
K provádění Regex Search použijeme GroupDocs.Search for Java API. Pomocí tohoto rozhraní API můžeme vyhledávat konkrétní text v souborech různých formátů napříč složkami, stačí mu dát vzor regulárního výrazu. Tento nástroj nám umožňuje vyhledávat text v různých typech souborů, jako jsou dokumenty Word, tabulky, prezentace, soubory PDF, soubory značek, elektronické knihy, e-mailové zprávy, dokumenty One Note a archivy ZIP, to vše programovým způsobem.
Chcete-li získat podrobný seznam podporovaných formátů souborů, podívejte se na podrobná dokumentace.
Máte dvě možnosti, jak získat soubor JAR: stáhnout jej z části ke stažení nebo začlenit nejnovější konfigurace úložiště a závislostí Maven přímo do svých aplikací Java.
Vyhledávání v souborech pomocí Regex pomocí Javy
Zde jsou jednoduché kroky, jak provádět vyhledávání regulárních výrazů ve více souborech různých formátů ve složkách pomocí Java. Poté můžete bez námahy vytvořit zvýrazněné výstupní soubory HTML pro každý umístěný dokument.
- Začněte vytvořením Index zadáním cesty ke složce.
- Přidejte cestu k hlavní složce, ve které chcete vyhledávat, do indexu, který jste právě vytvořili.
- Nastavte vyhledávací dotaz podle regulárního výrazu.
- Ke spuštění vyhledávání a získání výsledků použijte metodu vyhledávání.
- Nyní můžete projít SearchResults a vygenerovat požadovaný výstup podle vašich preferencí.
Regulární výraz v níže uvedeném kódu detekuje slova s po sobě jdoucími opakovanými znaky, jako je souhlas, volání a brzy. Tento kód Java provádí rychlé vyhledávání pomocí regulárních výrazů v různých souborech různých formátů v různých složkách.
// Regex Prohledávejte více souborů ve složkách pomocí Java
// Vytvoření indexové složky a přidání složky dokumentu do ní
Index index = new Index("path/indexing-folder-path");
index.add("path/parent-folder");
// Připravte Regex Query and Search
// Regex zde má identifikovat všechna slova, která mají jakékoli po sobě jdoucí opakované znaky.
String query = "^(.)\\1{1,}";
SearchResult result = index.search(query);
Níže jsem zvýraznil výsledky vyhledávání regulárních výrazů v poskytnutém kódu:
Tisk výsledků hledání
Následující kód Java nabízí dva způsoby zobrazení výsledků vyhledávání:
- Zvýrazněte všechna objevená slova.
- Vytiskněte výsledky ve formátu, který je snadno čitelný a analyzovaný.
// Zvýraznění a tisk výsledků hledání podle regulárního výrazu pro všechny dokumenty
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());
// Tisk nalezených termínů
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
...
Získání bezplatné licence nebo bezplatné zkušební verze
Bezplatná licence
Získejte zdarma dočasnou licenci k prozkoumání této knihovny bez omezení.
Zkušební verze zdarma
Můžete si stáhnout bezplatnou zkušební verzi v sekci ke stažení.
Závěr
V tomto článku jsme prozkoumali základy zázraků vyhledávání Regex, abychom našli slova se specifickými vzory v různých textových dokumentech, jako jsou soubory DOCX, PDF a TXT ve více složkách pomocí Java. Následně jsme předvedli výsledky vyhledávání zvýrazněním identifikovaných slov a jejich vytištěním v jasném formátu.
Pro důkladné pochopení API se čtenářům doporučuje prozkoumat dokumentaci a Odkaz na rozhraní API.
Jakékoli dotazy nebo další diskuse lze řešit na fóru.