Jelajahi keajaiban menggunakan ekspresi reguler untuk mencari kode Java Anda! Dalam dunia pengkodean, anggaplah ekspresi reguler seperti kode rahasia yang membantu kita menemukan informasi spesifik dalam teks. Artikel ini akan mengajarkan Anda dasar-dasar pencarian dengan ekspresi reguler di Java, sehingga Anda dapat dengan cerdas mencari dokumen dalam format file berbeda di seluruh folder.
Java API untuk Pencarian Regex di Dokumen oleh Regex
Untuk melakukan Pencarian Regex, kami akan menggunakan API GroupDocs.Search for Java. Dengan API ini, kita dapat mencari teks tertentu dalam file dengan format berbeda di seluruh folder, hanya dengan memberinya pola regex. Alat ini memungkinkan kita mencari teks dalam berbagai jenis file, seperti dokumen Word, spreadsheet, presentasi, file PDF, file Markup, eBuku, pesan email, dokumen One Note, dan arsip ZIP, semuanya dengan cara terprogram.
Untuk mendapatkan daftar detail format file yang didukung, lihat dokumentasi detail.
Anda memiliki dua opsi untuk mendapatkan file JAR: unduh dari bagian unduhan, atau gabungkan repositori terbaru dan konfigurasi ketergantungan Maven langsung ke aplikasi Java Anda.
Mencari di File dengan Regex menggunakan Java
Berikut adalah langkah sederhana bagaimana melakukan pencarian regex di banyak file dengan format berbeda dalam folder menggunakan Java. Setelah itu, Anda dapat dengan mudah membuat file keluaran HTML yang disorot untuk setiap dokumen yang berada.
- Mulailah dengan membuat Indeks dengan menentukan jalur folder.
- Tambahkan jalur folder utama tempat Anda ingin mencari di indeks yang baru saja Anda buat.
- Siapkan kueri penelusuran regex.
- Gunakan metode pencarian untuk menjalankan pencarian dan mendapatkan hasilnya.
- Sekarang, Anda dapat membuka Hasil Pencarian dan menghasilkan keluaran yang diinginkan sesuai preferensi Anda.
Regex pada kode di bawah ini mendeteksi kata-kata dengan karakter berulang yang berurutan, seperti setuju, menelepon, dan segera. Kode Java ini melakukan pencarian cepat menggunakan regex di berbagai file dengan format berbeda dalam folder berbeda.
// Regex Cari banyak file di seluruh folder menggunakan Java
// Membuat folder indeks dan menambahkan folder dokumen ke dalamnya
Index index = new Index("path/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);
Di bawah ini, saya telah menyorot hasil pencarian regex dalam kode yang disediakan:
Mencetak Hasil Pencarian
Kode Java berikut menawarkan dua metode untuk menampilkan hasil pencarian Anda:
- Sorot semua kata yang ditemukan.
- Cetak hasilnya dalam format yang mudah dibaca dan dianalisis.
// Menyorot dan Mencetak Hasil Pencarian Regex untuk semua dokumen
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());
// Mencetak istilah yang ditemukan
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
...
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.
Kesimpulan
Dalam artikel ini, kami menjelajahi dasar-dasar keajaiban pencarian Regex untuk menemukan kata-kata dengan pola tertentu dalam beragam dokumen berbasis teks seperti file DOCX, PDF, dan TXT di beberapa folder menggunakan Java. Selanjutnya, kami memamerkan hasil pencarian dengan menyorot kata-kata yang teridentifikasi dan mencetaknya dalam format yang jelas.
Untuk pemahaman menyeluruh tentang API, pembaca didorong untuk menjelajahi dokumentasi dan Referensi API.
Pertanyaan atau diskusi lebih lanjut dapat dijawab di forum.