Odkryj magię używania wyrażeń regularnych do wyszukiwania w kodzie Java! W świecie kodowania pomyśl o wyrażeniach regularnych, takich jak tajne kody, które pomagają nam znaleźć określone informacje w tekście. W tym artykule poznasz podstawy wyszukiwania za pomocą wyrażeń regularnych w Javie, dzięki czemu będziesz mógł inteligentnie przeszukiwać dokumenty w różnych formatach plików w różnych folderach.

API Java do wyszukiwania wyrażeń regularnych w dokumentach według Regex

Do wyszukiwania wyrażeń regularnych użyjemy interfejsu API GroupDocs.Search for Java. Dzięki temu interfejsowi API możemy wyszukiwać określony tekst w plikach o różnych formatach w różnych folderach, po prostu nadając mu wzór wyrażenia regularnego. To narzędzie pozwala nam wyszukiwać tekst w różnych typach plików, takich jak dokumenty Word, arkusze kalkulacyjne, prezentacje, pliki PDF, pliki znaczników, książki elektroniczne, wiadomości e-mail, dokumenty One Note i archiwa ZIP, a wszystko to w sposób programowy.

Aby uzyskać szczegółową listę obsługiwanych formatów plików, zapoznaj się z szczegółową dokumentacją.

Masz dwie możliwości uzyskania pliku JAR: pobierz go z sekcji pobierania lub włącz najnowsze repozytorium i konfiguracje Mavena zależności bezpośrednio do swoich aplikacji Java.

Wyszukiwanie w plikach za pomocą wyrażenia regularnego przy użyciu języka Java

Oto proste kroki, jak przeprowadzić wyszukiwanie wyrażeń regularnych w wielu plikach o różnych formatach w folderach przy użyciu języka Java. Następnie możesz bez wysiłku utworzyć wyróżnione pliki wyjściowe HTML dla każdego znalezionego dokumentu.

  • Zacznij od utworzenia Indeksu, określając ścieżkę folderu.
  • Dodaj ścieżkę głównego folderu, w którym chcesz przeszukiwać, w właśnie utworzonym indeksie.
  • Skonfiguruj zapytanie wyszukiwania wyrażeń regularnych.
  • Użyj metody wyszukiwania, aby uruchomić wyszukiwanie i uzyskać wyniki.
  • Teraz możesz przejść przez SearchResults i wygenerować żądany wynik zgodnie ze swoimi preferencjami.

Wyrażenie regularne w poniższym kodzie wykrywa słowa zawierające następujące po sobie powtarzające się znaki, takie jak zgadzam się, zadzwoń i wkrótce. Ten kod Java przeprowadza szybkie wyszukiwanie przy użyciu wyrażeń regularnych w różnych plikach o różnych formatach w różnych folderach.

// Regex Przeszukuj wiele plików w folderach przy użyciu języka Java

// Utworzenie folderu indeksu i dodanie do niego folderu dokumentu
Index index = new Index("path/indexing-folder-path");
index.add("path/parent-folder");

// Przygotuj zapytanie i wyszukiwanie wyrażeń regularnych
// Regex ma tutaj na celu identyfikację wszystkich słów zawierających kolejne powtarzające się znaki.
String query = "^(.)\\1{1,}"; 
SearchResult result = index.search(query);

Poniżej podkreśliłem wyniki wyszukiwania wyrażeń regularnych w podanym kodzie:

Wyróżnione wyniki wyszukiwania wyrażeń regularnych w formacie HTML

Drukowanie wyników wyszukiwania

Poniższy kod Java oferuje dwie metody wyświetlania wyników wyszukiwania:

  1. Zaznacz wszystkie odkryte słowa.
  2. Wydrukuj wyniki w formacie łatwym do odczytania i analizy.
// Podświetlanie i drukowanie wyników wyszukiwania wyrażeń regularnych dla wszystkich dokumentów
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());

        // Drukuję znalezione terminy
        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
...

Uzyskanie bezpłatnej licencji lub bezpłatnej wersji próbnej

Darmowa licencja

Uzyskaj [licencję tymczasową] za darmo, aby móc przeglądać tę bibliotekę bez ograniczeń.

Bezpłatny okres próbny

Możesz pobrać bezpłatną wersję próbną z sekcji pobierania.

Interfejs API Java do wyszukiwania w plikach i folderach

Wniosek

W tym artykule omówiliśmy podstawy cudów wyszukiwania Regex, które pozwalają lokalizować słowa według określonych wzorców w różnorodnych dokumentach tekstowych, takich jak pliki DOCX, PDF i TXT, w wielu folderach przy użyciu języka Java. Następnie zaprezentowaliśmy wyniki wyszukiwania, podkreślając zidentyfikowane słowa i drukując je w przejrzystym formacie.

Aby dokładnie zrozumieć interfejs API, zachęcamy czytelników do zapoznania się z dokumentacją i Dokumentacją interfejsu API.

Wszelkie pytania lub dalsze dyskusje można kierować na forum.

Zobacz też