Apa paket java sumber terbuka dasar untuk memfilter/mencocokkan URL?

Saya memiliki aplikasi berkinerja tinggi yang berhubungan dengan URL. Untuk setiap URL, ia perlu mengambil pengaturan yang sesuai dari kumpulan yang telah ditentukan sebelumnya. Setiap objek pengaturan dikaitkan dengan pola URL yang menunjukkan URL mana yang harus menggunakan pengaturan ini. Aturan pencocokannya adalah sebagai berikut:

  1. Pola pencocokan "google.com" harus cocok dengan semua URL yang mengarah ke domain Google (dengan demikian, Maps.google.com dan www.google.com/match cocok).
  2. "*.google.com" harus cocok dengan semua URL yang mengarah ke subdomain google.com (jadi, map.google.com cocok, namun google.com dan www.google.com tidak).
  3. "maps.google.com" harus cocok dengan semua URL yang mengarah ke subdomain spesifik ini.

Selain aturan di atas, setiap aturan pencocokan dapat berisi jalur, yang berarti bagian jalur pada URL harus dimulai dengan jalur aturan pencocokan. Jadi: "*.google.com/maps" cocok dengan "maps.google.com/maps" tetapi tidak dengan "maps.google.com/advanced".

Seperti yang Anda lihat, aturan di atas tumpang tindih. Jika ada dua aturan yang cocok dengan URL yang sama, aturan yang paling spesifik harus diterapkan. Daftar di atas diurutkan dari yang paling tidak spesifik hingga yang paling spesifik.

Ini sepertinya merupakan masalah standar sehingga saya berharap untuk menggunakan perpustakaan yang sudah jadi daripada memprogram sendiri. Google mengungkapkan beberapa opsi tetapi tanpa cara yang jelas untuk memilih di antara keduanya. Apa yang akan Anda rekomendasikan sebagai perpustakaan yang bagus untuk tugas ini?

Terima kasih, Boas


person Boaz    schedule 10.06.2010    source sumber
comment
Lihatlah pertanyaan sebelumnya ini: stackoverflow.com/questions/2230676/   -  person Tendayi Mawushe    schedule 10.06.2010


Jawaban (1)


Saya rasa Anda tidak memerlukan perpustakaan khusus untuk mengatasi ini; Java API standar memiliki semua yang Anda perlukan untuk menulis kode tanpa terlalu banyak bekerja.

Lihatlah java.util.regex.Pattern dan kerjakan ekspresi reguler yang Anda perlukan untuk mencocokkan setiap aturan Anda. Anda mungkin juga ingin menggunakan java.net.URL untuk menguraikan berbagai bidang dari URL.

Anda sudah mengatakan bahwa Anda memiliki skema prioritas untuk menangani skenario di mana beberapa pola cocok dengan URL, jadi itu harus menjadi bagian terakhir dari teka-teki ini.

Sepertinya tugas yang cukup mudah.

person Joel Hoff    schedule 17.06.2010