GGlobHaven
Ruang kerja kode dengan AI

Pencocokan wildcard berbatas

Cocokkan seluruh teks dengan wildcard tanda tanya dan bintang dalam batas 256 titik Unicode tiap masukan.

● ● ●GlobHaven●
Alur kerja · Pencocokan wildcard berbatas ×
def wildcard(text, pattern):
    if not isinstance(text, str) or not isinstance(pattern, str):
        raise ValueError("text.required")
    if len(text) > 256 or len(pattern) > 256:
        raise ValueError("length.cap")
    if any(ord(c) in (91, 93, 92) for c in pattern):
        raise ValueError("syntax.unsupported")
    previous = [True] + [False] * len(pattern)
    for j, token in enumerate(pattern, 1):
        previous[j] = token == "*" and previous[j - 1]
    for char in text:
        current = [False] * (len(pattern) + 1)
        for j, token in enumerate(pattern, 1):
            current[j] = (current[j - 1] or previous[j]) if token == "*" else (
                previous[j - 1] and (token == "?" or token == char))
        previous = current
    return previous[-1]
✳Cocokkan seluruh teks dengan wildcard tanda tanya dan bintang dalam batas 256 titik Unicode tiap masukan.
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
ProyekUji teks kosong, bintang berurutan dan emoji, serta tolak kurung siku atau garis miring terbalik sebagai sintaks yang tidak didukung.
Tinjau sebelum menerapkanBandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
ModelAtur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah.
Alur kerja

Pencocokan wildcard berbatas

Alur kerja ↗
Alur kerja
def wildcard(text, pattern):
    if not isinstance(text, str) or not isinstance(pattern, str):
        raise ValueError("text.required")
    if len(text) > 256 or len(pattern) > 256:
        raise ValueError("length.cap")
    if any(ord(c) in (91, 93, 92) for c in pattern):
        raise ValueError("syntax.unsupported")
    previous = [True] + [False] * len(pattern)
    for j, token in enumerate(pattern, 1):
        previous[j] = token == "*" and previous[j - 1]
    for char in text:
        current = [False] * (len(pattern) + 1)
        for j, token in enumerate(pattern, 1):
            current[j] = (current[j - 1] or previous[j]) if token == "*" else (
                previous[j - 1] and (token == "?" or token == char))
        previous = current
    return previous[-1]
Ruang kerja kode dengan AI

Berikan sintaks pencarian kontrak yang dapat dipahami pengguna

GlobHaven menyediakan ruang kerja pemrograman Windows untuk mengubah persyaratan pencocokan menjadi perubahan perangkat lunak yang dapat ditinjau. Mulailah dengan masukan pengguna dan hasil yang mereka harapkan. Permintaan tentang sintaks pencarian harus mengidentifikasi operator yang didukung dan perilaku kegagalan sebelum model yang terhubung mengusulkan pengurai atau menulis ulang kode pencocokan.

Contoh wildcard berbatas menyediakan satu kemungkinan diskusi proyek: mencocokkan seluruh string dengan tata bahasa yang sengaja dibatasi. Sertakan contoh pola yang diterima dan ditolak aplikasi, lalu minta asisten memeriksa bagaimana aturan itu sampai ke antarmuka. Ini mencegah perubahan satu operator diam-diam menjanjikan bahasa pencarian yang jauh lebih luas.

Tinjau kode usulan bersama pesan dan validasi pada pemanggil. Uji masukan kosong, karakter biasa, dan kombinasi wildcard yang didukung menggunakan data uji sendiri. Sertakan kasus yang membedakan pencocokan seluruh string dari pencarian substring, lalu periksa perilaku pencarian yang terlihat dalam aplikasi sebelum mengandalkan implementasi.

Model AI tanpa filter dapat membantu jika endpoint kompatibel OpenAI atau Anthropic yang didukung menawarkannya. Siapkan koneksi dengan kredensial bila diperlukan dan periksa alat serta batas konteksnya. GlobHaven menyediakan ruang kerja proyek; perilaku model tetap bergantung pada layanan, dan Anda menentukan sintaks usulan mana yang layak masuk produk.

Sebelum memperluas fitur pencocokan

Bagaimana menjelaskan perilaku pencocokan tanpa menyebut algoritme?

Berikan pasangan pola dan masukan dengan hasil benar atau salah yang diharapkan. Nyatakan apakah seluruh string harus cocok dan simbol mana yang khusus. Contoh tersebut memberi model kontrak yang jelas tanpa menentukan implementasi yang mungkin tidak Anda perlukan.

Haruskah sintaks yang tidak didukung diperlakukan sebagai teks literal?

Pilih perilaku itu secara eksplisit untuk aplikasi. Jika harus ditolak, sertakan jalur kesalahan dan pesan yang diharapkan. Minta asisten mempertahankan pilihan itu, bukan diam-diam memperluas tata bahasa karena pencocok lain mendukung lebih banyak operator.

Apa yang menunjukkan perbedaan pencocokan substring dan seluruh string?

Gunakan masukan dengan karakter tambahan sebelum atau sesudah bagian yang seharusnya cocok dan nyatakan hasil yang diharapkan. Uji kasus yang sama melalui antarmuka, karena pemanggil mungkin mengubah pola atau masukannya.

Apakah wildcard tambahan akan memengaruhi pencarian yang sudah disimpan?

Bisa, jika teks yang sebelumnya literal mendapat makna baru. Identifikasi pola tersimpan dan penafsirannya sebelum mengubah sintaks. Tinjau contoh kompatibilitas bersama kode usulan dan putuskan bagaimana pencarian yang ada harus berperilaku setelah perubahan.

Unduh untuk Windows ↗

GlobHaven · Diperbarui 2026-10-25