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:
Drukowanie wyników wyszukiwania
Poniższy kod Java oferuje dwie metody wyświetlania wyników wyszukiwania:
- Zaznacz wszystkie odkryte słowa.
- 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.
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.