Wie man in Java mit GroupDocs.Search reguläre Ausdrücke sucht

Das Durchsuchen von Tausenden von Textdokumenten kann sich anfühlen, als würde man eine Nadel im Heuhaufen suchen. How to regex search in Java wird mühelos, wenn man die leistungsstarke reguläre‑Ausdruck‑Engine der Sprache mit GroupDocs.Search kombiniert, einer Bibliothek, die einen Index für blitzschnelles Muster‑Matching erstellt. In den nächsten Minuten sehen Sie, wie Sie die Bibliothek installieren, einen Index erstellen, Dateien hinzufügen und sowohl einfache textbasierte als auch objektorientierte Regex‑Abfragen ausführen. Am Ende sind Sie bereit, eine robuste Muster‑Suchfunktion in jede Java‑Anwendung einzubetten.

Schnelle Antworten

  • Was ist die primäre Bibliothek? GroupDocs.Search for Java
  • Wie starte ich? Add the Maven dependency and instantiate an Index object
  • Kann ich Inhalte mit Regex filtern? Yes – use regex queries for content‑filtering scenarios
  • Brauche ich eine Lizenz? A free trial or temporary license is required for production use
  • Welche JDK-Version wird unterstützt? Java 8 or higher

Was ist Regex-Suche?

Regex-Suche ermöglicht es Ihnen, Muster wie Datumsangaben, E‑Mail‑Adressen oder wiederholte Zeichen in vielen Dateien in einem einzigen Vorgang zu finden. Sie verwandelt eine reine Textabfrage in einen leistungsstarken, regelbasierten Scanner, der Inhalte on‑the‑fly extrahieren oder blockieren kann.

Warum GroupDocs.Search für Regex‑Suche verwenden?

GroupDocs.Search indexiert Dokumente einmal und verwendet diesen Index dann für jede Abfrage, wodurch bis zu 10× schnellere Suchen im Vergleich zum rohen Dateiscannen erzielt werden. Die Bibliothek unterstützt 30+ Dateiformate (PDF, DOCX, XLSX, PPTX, TXT, HTML und mehr) und kann mehrseitige Dateien verarbeiten, ohne die gesamte Datei in den Speicher zu laden.

Voraussetzungen

  • Java Development Kit (JDK) 8 oder höher
  • Maven für das Abhängigkeitsmanagement
  • Grundlegende Kenntnisse von Java‑Regulären‑Ausdrücken

Erforderliche Bibliotheken und Abhängigkeiten

Fügen Sie GroupDocs.Search zu Ihrem Maven‑Projekt hinzu:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/search/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-search</artifactId>
      <version>25.4</version>
   </dependency>
</dependencies>

Alternativ können Sie das neueste JAR von GroupDocs.Search for Java releases herunterladen.

Lizenzbeschaffung

Erhalten Sie eine kostenlose Testversion oder eine temporäre Lizenz von GroupDocs.License und laden Sie sie beim Anwendungsstart.

Einrichtung von GroupDocs.Search für Java

Installationsinformationen

  1. Maven‑Integration: Fügen Sie das oben gezeigte Repository und die Abhängigkeit zu Ihrer pom.xml hinzu.
  2. Direkter Download: Platzieren Sie die JAR‑Dateien im Klassenpfad Ihres Projekts.
  3. Lizenzanwendung: Laden Sie die Lizenzdatei beim Anwendungsstart.
import com.groupdocs.search.*;

public class SearchSetup {
    public static void main(String[] args) {
        // Initialize the index by specifying a directory.
        String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\RegularExpressionSearch";
        Index index = new Index(indexFolder);

        System.out.println("Index created successfully at: " + indexFolder);
    }
}

Kernkomponenten

Die Klasse Index ist die Kernkomponente, die durchsuchbare Token aus Ihren Dokumenten speichert. Sie ermöglicht ein schnelles Nachschlagen jedes Begriffs oder Musters, ohne die Originaldateien erneut zu lesen.

Wie man einen Index erstellt

Das Erstellen eines Index ist einfach: Instanziieren Sie die Klasse Index mit einem Ordnerpfad, in dem die Indexdateien gespeichert werden. Der Konstruktor erstellt bei der ersten Verwendung die notwendigen Datenbankdateien und bereitet die Engine zum Hinzufügen und Durchsuchen von Dokumenten vor. Sobald er erstellt ist, verwenden Sie denselben Index für alle Abfragen erneut.

String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\RegularExpressionSearch";
Index index = new Index(indexFolder);

Wie man Dokumente hinzufügt

Um eine Datei durchsuchbar zu machen, rufen Sie index.add mit einer Document‑ (oder DocumentInfo‑) Instanz auf, die auf den Dateipfad verweist. Die Bibliothek analysiert den Inhalt, extrahiert Token und speichert sie im Index. Dieser Vorgang kann für einzelne Dateien oder Stapel durchgeführt werden, und Aktualisierungen werden inkrementell zusammengeführt.

index.add("YOUR_DOCUMENT_DIRECTORY");
system.out.println("Documents added to the index.");

Wie man reguläre Ausdruckssuche in Textform durchführt

RegexQuery definiert eine auf regulären Ausdrücken basierende Suchabfrage. Laden Sie ein RegexQuery mit einem Klartext‑Muster und übergeben Sie es an die search‑Methode des Index. Die Engine bewertet das Muster gegen die indizierten Token und gibt passende Dokumentreferenzen zurück, wodurch einmalige Lookups schnell und einfach werden.

String query1 = "^((.)\\2{1,})";

Wie man reguläre Ausdruckssuche in Objektform durchführt

RegexQuery kann auch als Objekt erstellt und über mehrere Suchen hinweg wiederverwendet werden. Definieren Sie die Abfrage einmal, konfigurieren Sie Optionen wie Groß‑/Kleinschreibung‑Unempfindlichkeit oder Fuzzy‑Matching und rufen Sie index.search wiederholt auf. Dieser Ansatz verbessert die Leistung, wenn dasselbe Muster auf viele verschiedene Dokumentensätze angewendet wird.

SearchResult result1 = index.search(query1);
system.out.println("Number of occurrences found: " + result1.getDocumentCount());

Anwendungsfälle für Regex‑basiertes Inhaltsfiltering

Sie können Regex einsetzen, um Inhalte, die bestimmten Mustern entsprechen, automatisch zu blockieren oder zu markieren, zum Beispiel:

  • Erkennung wiederholter Zeichen für Spam‑Filterung
  • Finden von kreditkartenähnlichen Sequenzen für Datenschutz‑Prüfungen
  • Extrahieren von Daten oder IDs für nachgelagerte Verarbeitung

Praktische Anwendungen

  1. Dokumentenmanagement‑Systeme: Verträge, Rechnungen oder Richtlinien anhand von Mustern finden (z. B. Rechnungsnummern).
  2. Inhaltsmoderation: Regex‑Regeln anwenden, um nutzergenerierten Text in Foren oder Chat‑Apps zu moderieren.
  3. Datenextraktion: Strukturierte Daten wie Bestellnummern aus unstrukturierten PDFs oder Word‑Dateien extrahieren.

Leistungsüberlegungen

  • Index‑Aktualisierungen: Rufen Sie index.add auf, sobald sich Quelldateien ändern, um die Ergebnisse aktuell zu halten.
  • Speichermanagement: Für Korpora mit mehr als 1 Million Dokumenten aktivieren Sie inkrementelles Indexieren, um die Heap‑Nutzung zu kontrollieren.
  • Regex‑Design: Halten Sie Muster kurz; ein Muster wie \d{4}-\d{2}-\d{2} ist 3× schneller als ein wildcard‑intensiver Ausdruck wie .*.

Fazit

Sie wissen jetzt wie man in Java mit GroupDocs.Search reguläre Ausdrücke sucht, von der Installation der Bibliothek und dem Erstellen eines Index bis hin zur Ausführung sowohl textbasierter als auch objektorientierter Abfragen. Diese Techniken ermöglichen es Ihnen, eine schnelle, musterbasierte Suche in jede Java‑Anwendung einzubauen, egal ob Sie ein Dokumenten‑Portal, einen Compliance‑Scanner oder eine Data‑Mining‑Pipeline erstellen.

Häufig gestellte Fragen

Q: Was ist der Unterschied zwischen textbasierten und objektbasierten Regex‑Abfragen in GroupDocs.Search?
A: Textbasierte Abfragen sind schnelle Einzeiler, während objektbasierte Abfragen wiederverwendbare, typensichere Definitionen bieten, die gespeichert und über mehrere Suchen hinweg wiederverwendet werden können.

Q: Kann GroupDocs.Search nicht‑Text‑Dokumente wie PDFs oder Excel‑Dateien indexieren?
A: Ja, die Bibliothek extrahiert durchsuchbaren Text aus PDFs, DOCX, XLSX, PPTX und über 30 weiteren Formaten.

Q: Wie aktualisiere ich einen bestehenden Such‑Index, nachdem neue Dateien hinzugefügt wurden?
A: Rufen Sie index.add mit den neuen oder geänderten Dokumenten auf; die Bibliothek wird die Änderungen zusammenführen, ohne den gesamten Index neu zu erstellen.

Q: Was sind häufige Stolperfallen bei der Verwendung von Regex mit GroupDocs.Search?
A: Zu breit gefasste Muster (z. B. .*) können die Leistung beeinträchtigen, und fehlerhafte Ausdrücke können keine Ergebnisse liefern. Testen Sie Muster immer zuerst an einem Beispielsatz.

Q: Wo finde ich weiterführende GroupDocs.Search‑Tutorials?
A: Besuchen Sie die GroupDocs Documentation für ausführliche Anleitungen, API‑Referenzen und Beispielprojekte.


Zuletzt aktualisiert: 2026-07-31
Getestet mit: GroupDocs.Search 25.4
Autor: GroupDocs

SearchQuery query2 = SearchQuery.createRegexQuery("^(.)\\1{1,}");
SearchResult result2 = index.search(query2);
system.out.println("Occurrences found using object form: " + result2.getDocumentCount());

Verwandte Tutorials