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:

Zvýrazněné výsledky Regex Search ve formátu HTML

Tisk výsledků hledání

Následující kód Java nabízí dva způsoby zobrazení výsledků vyhledávání:

  1. Zvýrazněte všechna objevená slova.
  2. 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í.

Java API pro vyhledávání v souborech a složkách

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.

Viz také