Catatan : Tantangan ini sekarang sudah ditutup. Pengajuan polisi di masa mendatang tidak akan dipertimbangkan untuk jawaban yang diterima. Ini untuk memastikan bahwa tidak ada yang dapat memposting regex yang sangat sederhana di masa depan yang hanya tetap tidak terpecahkan karena tidak ada yang tertarik pada tantangan lagi.
Tantangan Polisi
Anda harus menulis regex pendek yang dikaburkan, memenuhi spesifikasi berikut:
Anda dapat memilih rasa apa pun yang dapat diuji secara online secara gratis. Ada daftar penguji online yang bagus di StackOverflow . Secara khusus, Regex101 harus baik untuk membantu Anda memulai, karena mendukung rasa PCRE, ECMAScript dan Python. Anda dapat menambah batas waktu dengan mengklik kunci pas di sudut kanan atas jika perlu. Harap sertakan tester yang Anda pilih dalam jawaban Anda.
Jika tidak tersedia penguji yang sesuai dengan selera pilihan Anda, Anda juga dapat menggunakan juru bahasa online seperti ideone dan menulis skrip kecil dalam bahasa host yang dapat digunakan orang untuk menguji kiriman Anda.
- Anda dapat menggunakan fitur apa pun dari rasa itu, yang tidak secara langsung memanggil bahasa host (seperti fitur evaluasi kode Perl).
- Demikian juga, Anda dapat menggunakan pengubah (jika selera Anda memilikinya), kecuali jika mereka menghasilkan evaluasi kode.
- Regex Anda harus menerima setidaknya satu string S dan menolak setidaknya satu string T , yang masing-masing setidaknya 16 dan panjangnya tidak lebih dari 256 karakter, dalam jumlah waktu yang wajar (tidak lebih dari satu menit). S dan T dapat berisi karakter Unicode yang bukan ASCII, asalkan ada cara untuk memasukkannya ke dalam penguji online. Setiap pasangan string seperti itu akan menjadi kunci untuk kiriman Anda.
- Regex Anda mungkin butuh waktu lama untuk input lainnya.
Inti dari tantangannya adalah membuat regex yang kuncinya sulit ditemukan. Artinya, harus sulit untuk mengetahui string mana yang tidak cocok atau string mana yang cocok (atau berpotensi bahkan keduanya jika regex membutuhkan waktu berhari-hari untuk menyelesaikan semua kecuali string kunci).
Tantangan Perampok
Semua pengguna, termasuk mereka yang telah mengirimkan regex mereka sendiri, didorong untuk "memecahkan" kiriman lainnya. Kiriman retak ketika salah satu kuncinya diposting di bagian komentar terkait.
Penting: Pastikan bahwa kedua string yang Anda poskan antara 16 dan 256 karakter inklusif, bahkan jika hampir semua string dapat digunakan digunakan untuk satu bagian dari kunci.
Jika kiriman bertahan selama 72 jam tanpa diubah atau di-crack, penulis dapat mengungkapkan kunci yang valid dengan mengeditnya menjadi spoiler-tag dalam jawabannya. Ini akan membuat jawabannya "aman", artinya tidak bisa lagi dipecahkan.
Hanya satu upaya cracking per pengajuan per pengguna yang diizinkan. Misalnya, jika saya kirim ke pengguna X: "Kunci Anda adalah 0123456789abcdef
/ fedcba9876543210
." dan saya salah, pengguna X akan menyangkal dugaan saya sebagai salah dan saya tidak lagi dapat mengirimkan tebakan tambahan untuk kiriman itu, tetapi saya masih bisa memecahkan kiriman lain (dan yang lain masih bisa memecahkan kiriman itu).
Pengajuan yang retak dihilangkan dari pertikaian (asalkan tidak "aman"). Mereka tidak boleh diedit atau dihapus. Jika seorang penulis ingin mengirimkan regex baru, ia harus melakukannya dalam jawaban yang terpisah.
Jangan merusak kiriman Anda sendiri!
Catatan: Untuk string panjang dalam komentar tanpa spasi, SE menyisipkan baris manual jeda dalam bentuk dua karakter Unicode. Jadi, jika Anda memposting kunci dalam backticks yang sangat panjang sehingga membungkus garis di antara karakter non-spasi, itu tidak akan mungkin untuk menyalin kunci langsung kembali ke tester regex. Dalam hal ini, berikan tautan permanen ke tester regex yang relevan dengan regex polisi dan kunci Anda - sebagian besar penguji menyertakan fitur ini.
Mencetak gol
Skor polisi akan menjadi ukuran regex mereka dalam byte (pola plus pengubah, pembatas potensial tidak dihitung), asalkan belum retak. Skor terendah dari pengajuan "aman" akan menang.
Skor seorang perampok adalah jumlah pengiriman yang mereka retak. Jika terjadi pengikatan, ukuran total kiriman byte yang mereka crack akan digunakan sebagai pengikat-pengikat. Di sini, jumlah byte tertinggi menang.
Seperti yang dinyatakan di atas, polisi mana pun dapat berpartisipasi sebagai perampok dan sebaliknya.
Saya akan mempertahankan papan peringkat terpisah untuk dua bagian dari tantangan.
Papan peringkat
Pembaruan terakhir: 19/10/2014, 20:33 UTC
Polisi:
Kiriman dalam huruf miring belum aman.
- nneonneo , 841 bytes
- Wumpus Q. Wumbley , 10.602 byte
- Sp3000 , 52.506 byte
- user23013 , 53.884 bytes
- nneonneo , 656.813 bytes
Perampok:
- user23013 , Cracked: 11, Total Ukuran: 733 + 30 + 2.447 + 71 + 109 + 121 + 97 + 60 + 141 + 200.127 + 7.563 = 211.499 byte
- nneonneo , Retak: 10, Ukuran Total: 4.842 + 12.371 + 150 + 3.571 + 96 + 168 + 395 + 1.043 + 458 + 17.372 = 40.466 byte
- Wumpus Q. Wumbley , Cracked: 6, Total Ukuran: 22 + 24 + 158 + 32 + 145.245 + 145.475 = 290.956 byte
- Dennis , Cracked: 2, Total Ukuran: 70 + 73 = 143 byte
- harius , Cracked: 1, Total Size: 9.998 bytes
- g.roket , Retak: 1, Ukuran Total: 721 byte
- stokastic , Retak: 1, Ukuran Total: 211 byte
- Sp3000 , Retak: 1, Ukuran Total: 133 byte
- TwiNight , Retak: 1, Ukuran Total: 39 byte