Not : Bu zorluk artık kapalı. Herhangi bir gelecekteki polisin başvurusu kabul edilen cevap için dikkate alınmayacaktır. Bu, hiç kimsenin daha fazla zorluk ile ilgilenmediği için gelecekte hiç kimsenin parçalanamayan çok basit bir regex yayınlayamamasını sağlamaktır.
Polislerin Mücadelesi
Aşağıdaki özellikleri karşılayan, kısa, karışık bir regex yazacaksınız:
Çevrimiçi olarak serbestçe test edilebilir herhangi bir tadı seçebilirsiniz. StackOverflow'ta çevrimiçi test edicilerin iyi bir listesi var . Özellikle, PCRE, ECMAScript ve Python lezzetlerini desteklediği için Regex101'in çalışmaya başlamasında fayda var . Gerekirse sağ üst köşedeki anahtarın üzerine tıklayarak zaman aşımı sınırını artırabilirsiniz. Lütfen cevabınıza seçtiğiniz test cihazını ekleyin.
Tercih ettiğiniz lezzet için uygun bir test cihazı yoksa, ideone gibi çevrimiçi bir tercüman da kullanabilir ve ana dilde insanların gönderinizi test etmek için kullanabileceği küçük bir senaryo yazabilirsiniz.
- Ev sahibinin (doğrudan Perl kod değerlendirme özellikleri gibi) doğrudan çağrılmadığı bu lezzetin herhangi bir özelliğini kullanabilirsiniz.
- Aynı şekilde, kod değerlendirmeyle sonuçlanmadıkça (lezzetinizde varsa) herhangi bir değiştirici kullanabilirsiniz.
- Düzenli ifadeniz en az bir S dizesini kabul etmeli ve her biri en az 16 ve en fazla 256 karakter uzunluğunda olmayan en az bir T dizesini makul bir süre içinde (bir dakikadan önemli ölçüde daha uzun olmayan) reddetmelidir . S ve T , çevrimiçi test cihazına girmenin bir yolu olduğu sürece ASCII olmayan Unicode karakterler içerebilir. Bu tür herhangi bir dize çifti, gönderiminizin anahtarı olacaktır .
- Regex'iniz herhangi bir girişte keyfi olarak uzun sürebilir.
Zorluğun özü, anahtarı bulmak zor olan bir regex oluşturmak. Başka bir deyişle, hangi dizeyle eşleşmediğini veya hangi dizeyle eşleştiğini söylemek zor olmalıdır (veya regex'in anahtar dizeleri dışında tümüyle bitirilmesi günler alırsa, her ikisi de olabilir).
Hırsızların Mücadelesi
Kendi regex'lerini gönderenler de dahil olmak üzere, tüm kullanıcılar, diğer başvuruları "kırmaya" teşvik edilir. Anahtarlardan biri ilgili yorumlar bölümünde kaydedildiğinde bir gönderim kırılır .
Önemli: Gönderdiğiniz her iki dizenin, anahtarın bir kısmı için neredeyse herhangi bir dize kullanılmış olsa bile, 16 ile 256 karakter arasında olduğundan emin olun.
Bir gönderim değiştirilmeden veya çatlatılmadan 72 saat boyunca devam ederse, yazar cevabında bir spoiler etiketi şeklinde düzenleyerek geçerli bir anahtar gösterebilir. Bu, cevabını "güvenli" hale getirecek, yani artık kırılamaz.
Kullanıcı başına gönderim başına yalnızca bir çatlama girişimi yapılabilir. Örneğin, X kullanıcısına gönderirsem: "Anahtarınız 0123456789abcdef
/ fedcba9876543210
." ve hatalıyım, X kullanıcısı tahminimi yanlış olarak kabul etmeyecek ve artık bu gönderim için ek tahminler sunamayacağım, ancak yine de diğer gönderimleri kırabilirim (ve diğerleri hala bu gönderimi kırabilir).
Çatlaklar çekişmeler çekişmeden elimine edilir (“güvenli” olmadığı sürece). Düzenlenmemeli veya silinmemelidir. Bir yazar yeni bir regex göndermek isterse, bunu ayrı bir cevapta yapması gerekir.
Kendi gönderinizi kırmayın!
Not: Boşluk içermeyen yorumlardaki uzun satırlar için SE, iki Unicode karakter biçiminde el ile satır sonları ekler. Bu nedenle, boşluk içermeyen karakterler arasında dolanacak kadar uzun olan geri tepmelere bir anahtar gönderirseniz, anahtarı doğrudan bir regex test cihazına kopyalamak mümkün olmaz. Bu durumda, lütfen ilgili regex test cihazına, polisin regex'i ve anahtarınızla birlikte bir kalıcı bağlantı verin - çoğu test cihazı bu özelliği içerir.
puanlama
Bir polisin puanı, kırılmaması şartıyla, bayt cinsinden regexlerinin büyüklüğü olacaktır (desen artı değiştiriciler, potansiyel sınırlayıcılar sayılmaz). "Güvenli" bir sunumun en düşük puanı kazanır.
Bir soyguncunun puanı, kırdıkları başvuru sayıları olacaktır. Bir beraberlik durumunda, kırdıkları gönderilerin toplam bayt büyüklüğü bir bağlayıcı olarak kullanılacaktır. Burada, en yüksek bayt sayısı kazanır.
Yukarıda belirtildiği gibi, herhangi bir polis soyguncusu ve tam tersi olarak katılabilir.
Mücadelenin iki kısmı için ayrı lider tabloları yapacağım.
Liderler
Son güncelleme: 19/10/2014, 20:33 UTC
Polisler:
İtalik olarak yapılan bildirimler henüz güvenli değildir.
- nneonneo , 841 bayt
- Wumpus Q. Wumbley , 10.602 bayt
- Sp3000 , 52,506 bayt
- user23013 , 53,884 bayt
- nneonneo , 656,813 bayt
Soyguncular:
- user23013 , Kırık: 11, Toplam Boyut: 733 + 30 + 2,447 + 71 + 109 + 121 + 97 + 60 + 141 + 200,127 + 7,563 = 211,499 bayt
- nneonneo , kırık: 10, Toplam Boyutu: 4.842 + 12.371 + 150 + 3.571 + 96 + 168 + 395 + 1,043 + 458 + 17.372 = 40.466 bayt
- Wumpus S. Wumbley , kırık: 6, toplam boyutu: 22 + 24 + 158 + 32 + 145,245 + 145.475 = 290.956 bayt
- Dennis , Çatlak: 2, Toplam Boyut: 70 + 73 = 143 bayt
- harius , Çatlak: 1, Toplam Boyut: 9,998 bayt
- roket , Çatlak: 1, Toplam Boyut: 721 bayt
- stokastic , Çatlak: 1, Toplam Boyut: 211 bayt
- Sp3000 , Kırık: 1, Toplam Boyut: 133 bayt
- TwiNight , Çatlak: 1, Toplam Boyut: 39 bayt