Temukan keajaiban pencarian regex terprogram! Dalam dunia coding, ekspresi reguler seperti kode rahasia yang membantu kita menemukan informasi spesifik dalam teks. Artikel ini akan menunjukkan kepada Anda cara mencari berdasarkan regex di C# untuk mencari dokumen berbagai format file dengan cerdas.

.NET API untuk Pencarian Regex di Dokumen oleh Regex

Untuk Pencarian Regex, kami akan menggunakan API GroupDocs.Search for .NET. Hal ini memungkinkan kita untuk mencari teks dalam file dengan berbagai format di seluruh folder hanya dengan menyediakan pola regex. Pustaka ini memberdayakan kita untuk mencari teks secara terprogram dalam berbagai format file, seperti dokumen Word, spreadsheet, presentasi, file PDF, file Markup, eBuku, pesan email, dokumen One Note, dan arsip ZIP.

Untuk daftar mendalam tentang format file yang didukung, lihat dokumentasi komprehensif.

Anda memiliki opsi untuk mengambil DLL atau penginstal MSI dari bagian unduhan, atau Anda dapat menginstal API ke aplikasi .NET Anda menggunakan NuGet.

Cara Mencari di File dengan Regex menggunakan C#

Ikuti langkah-langkah ini untuk melakukan pencarian regex di beberapa file dengan berbagai format file dalam folder menggunakan C#: Nanti Anda dapat dengan mudah membuat file output HTML yang disorot untuk setiap dokumen yang ditemukan.

  • Buat Indeks dengan menyediakan jalur folder.
  • Tambahkan jalur folder induk untuk direktori pencarian ke indeks yang dibuat.
  • Tentukan permintaan pencarian regex.
  • Jalankan pencarian menggunakan metode Pencarian untuk mendapatkan hasil pencarian.
  • Sekarang Anda dapat mengulangi SearchResults untuk membuat keluaran sesuai keinginan Anda.

Regex yang digunakan dalam kode yang disebutkan di bawah mengidentifikasi semua kata yang memiliki karakter berulang berturut-turut seperti; menambahkan, kayu, dan lihat. Kode C# berikut melakukan pencarian cepat dengan regex di beberapa file dengan format file berbeda di seluruh folder.

// Cari berdasarkan RegEx di banyak file di beberapa folder menggunakan C#

// Membuat folder indeks dan menambahkan folder dokumen ke dalamnya
Index index = new Index("indexing-folder-path");
index.Add("path/parent-folder");

// Siapkan Kueri dan Pencarian Regex
// Regex di sini adalah untuk mengidentifikasi semua kata yang memiliki karakter berulang yang berurutan.
string query = "^(.)\\1{1,}"; 
SearchResult result = index.Search(query);

Disini saya telah menyorot hasil pencarian regex dari kode di atas:

Hasil Sorotan Pencarian Regex dalam format HTML

Mencetak Hasil Pencarian

Kode C# berikut menyediakan dua cara untuk menyajikan hasil pencarian Anda.

  1. Sorot semua kata yang ditemukan.
  2. Cetak dalam format yang mudah dibaca dan dianalisis
// Menyorot dan Mencetak Hasil Pencarian Regex untuk semua dokumen
for (int i = 0; i < result.DocumentCount; i++)
{
    FoundDocument document = result.GetFoundDocument(i);

    OutputAdapter outputAdapter = new FileOutputAdapter(OutputFormat.Html, indexFolder + "/Highlight" + i + ".html");
    Highlighter highlighter = new DocumentHighlighter(outputAdapter); 
    index.Highlight(document, highlighter);

    Console.WriteLine("\tDocument: " + document.DocumentInfo.FilePath);
    Console.WriteLine("\tOccurrences: " + document.OccurrenceCount);
    for (int j = 0; j < document.FoundFields.Length; j++)
    {
        FoundDocumentField field = document.FoundFields[j];
        Console.WriteLine("\t\tField: " + field.FieldName);
        Console.WriteLine("\t\tOccurrences: " + document.OccurrenceCount);
        // Mencetak istilah yang ditemukan
        if (field.Terms != null)
        {
            for (int k = 0; k < field.Terms.Length; k++)
            {
                Console.WriteLine("\t\t\t" + field.Terms[k].PadRight(20) + field.TermsOccurrences[k]);
            }
        }
    }
    Console.WriteLine("===========================================");
}
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
...

Mendapatkan Lisensi Gratis atau Uji Coba Gratis

Lisensi gratis

Dapatkan lisensi sementara gratis untuk menjelajahi perpustakaan ini tanpa batasan.

Uji Coba Gratis

Anda dapat mengunduh uji coba gratis dari bagian unduhan.

.NET API untuk Pencarian dalam File dan Folder

Kesimpulan

Dalam artikel ini, kita melihat keajaiban pencarian RegEx untuk menemukan semua kata yang memiliki pola tertentu dalam berbagai dokumen berbasis teks seperti file DOCX, PDF, dan TXT di beberapa folder menggunakan C#. Setelah itu, kami menyajikan hasil pencarian dengan menyorot kata-kata yang dicari dan mencetaknya dalam format yang mudah dibaca.

Untuk rincian lengkap tentang API, pembaca disarankan untuk merujuk ke dokumentasi.

Setiap pertanyaan atau diskusi tambahan dapat diarahkan ke forum yang tersedia.

Lihat juga