หมายเหตุ : ความท้าทายนี้ปิดตอนนี้ การส่งตำรวจในอนาคตใด ๆ จะไม่ได้รับการพิจารณาสำหรับคำตอบที่ได้รับการยอมรับ นี่คือเพื่อให้แน่ใจว่าไม่มีใครสามารถโพสต์ regex ที่ง่ายมากในอนาคตที่ยังคงไม่ได้แยกออกเพราะไม่มีใครสนใจในการท้าทายอีก
The Cops 'Challenge
คุณต้องเขียน regex สั้น ๆ ที่ยุ่งเหยิงเพื่อให้เป็นไปตามข้อกำหนดต่อไปนี้:
คุณสามารถเลือกรสชาติที่สามารถทดสอบออนไลน์ได้อย่างอิสระ มีรายการที่ดีของการทดสอบออนไลน์เป็นมากกว่าใน StackOverflow โดยเฉพาะอย่างยิ่งRegex101น่าจะดีสำหรับคุณในการเริ่มต้นเนื่องจากรองรับ PCRE, ECMAScript และ Python รสชาติ คุณสามารถเพิ่มการ จำกัด การหมดเวลาได้โดยคลิกที่ประแจที่มุมขวาบนหากจำเป็น โปรดระบุผู้ทดสอบที่คุณเลือกในคำตอบของคุณ
หากไม่มีผู้ทดสอบที่เหมาะสมสำหรับรสนิยมที่คุณเลือกคุณอาจใช้ล่ามออนไลน์เช่นideoneและเขียนสคริปต์เล็กน้อยในภาษาโฮสต์ซึ่งผู้คนสามารถใช้เพื่อทดสอบการส่งของคุณ
- คุณสามารถใช้คุณลักษณะใดก็ได้ของรสชาตินั้นซึ่งไม่ได้เรียกใช้ภาษาโฮสต์โดยตรง (เช่นคุณสมบัติการประเมินโค้ดของ Perl)
- ในทำนองเดียวกันคุณสามารถใช้ตัวดัดแปลงใด ๆ (ถ้ารสชาติของคุณมี) ยกเว้นว่าพวกเขาส่งผลในการประเมินรหัส
- regex ของคุณจะต้องยอมรับอย่างน้อยหนึ่งสตริงSและปฏิเสธอย่างน้อยหนึ่งสตริงTแต่ละอันมีอย่างน้อย 16 และไม่เกิน 256 อักขระที่มีความยาวในระยะเวลาที่เหมาะสม (ไม่เกินหนึ่งนาที) SและTอาจมีอักขระ Unicode ที่ไม่ใช่ ASCII ตราบใดที่มีวิธีป้อนอักขระเหล่านั้นลงในเครื่องมือทดสอบออนไลน์ คู่ของสตริงดังกล่าวจะเป็นกุญแจสำคัญในการส่งของคุณ
- regex ของคุณอาจใช้เวลานานในการป้อนข้อมูลอื่น ๆ
หลักของความท้าทายคือการสร้าง regex ที่มีคีย์หายาก นั่นคือมันควรจะยากที่จะบอกสตริงที่ไม่ตรงกันหรือสตริงที่ตรง (หรืออาจทั้งสองถ้า regex ใช้เวลาหลายวันเพื่อให้เสร็จทั้งหมด แต่สตริงของคีย์)
ความท้าทายของโจร
ผู้ใช้ทุกคนรวมถึงผู้ที่ส่ง regex ของตนเองได้รับการสนับสนุนให้ "ถอดรหัส" การส่งอื่น ๆ การส่งจะแตกเมื่อคีย์ตัวใดตัวหนึ่งถูกโพสต์ในส่วนความคิดเห็นที่เกี่ยวข้อง
สำคัญ:ตรวจสอบให้แน่ใจว่าสตริงทั้งสองที่คุณโพสต์นั้นมีความยาวระหว่าง 16 ถึง 256 อักขระแม้ว่าจะใช้สตริงใดก็ได้เกือบทุกส่วนของคีย์
หากการส่งยังคงอยู่เป็นเวลา 72 ชั่วโมงโดยไม่มีการแก้ไขหรือถอดรหัสผู้เขียนอาจเปิดเผยรหัสที่ถูกต้องโดยแก้ไขให้เป็นสปอยเลอร์แท็กในคำตอบของเขา สิ่งนี้จะทำให้คำตอบของเขา "ปลอดภัย" คือไม่สามารถถอดรหัสได้อีกต่อไป
อนุญาตให้พยายามแคร็กได้หนึ่งครั้งต่อการส่งต่อผู้ใช้หนึ่งราย ตัวอย่างเช่นหากฉันส่งให้ผู้ใช้ X: "รหัสของคุณคือ0123456789abcdef
/ fedcba9876543210
" และฉันผิดผู้ใช้ X จะปฏิเสธการเดาของฉันว่าไม่ถูกต้องและฉันจะไม่สามารถส่งการเดาเพิ่มเติมสำหรับการส่งนั้นได้อีกต่อไป แต่ฉันยังสามารถถอดรหัสการส่งอื่น ๆ ได้ (และคนอื่น ๆ ยังสามารถถอดรหัสได้)
การส่งที่แคร็กจะถูกกำจัดออกจากการแข่งขัน (หากไม่ปลอดภัย) พวกเขาไม่ควรแก้ไขหรือลบ หากผู้เขียนต้องการส่ง regex ใหม่เขาควรทำในคำตอบที่แยกต่างหาก
อย่าถอดรหัสของคุณเอง!
หมายเหตุ:สำหรับสตริงที่ยาวในความคิดเห็นที่ไม่มีช่องว่าง SE จะแทรกตัวแบ่งบรรทัดด้วยตนเองในรูปแบบของอักขระ Unicode สองตัว ดังนั้นหากคุณโพสต์คีย์ใน backticks ซึ่งยาวจนมันตัดบรรทัดระหว่างอักขระที่ไม่เว้นวรรคคุณจะไม่สามารถคัดลอกคีย์ตรงออกไปยังเครื่องทดสอบ regex ในกรณีนี้โปรดแจ้งความคิดเห็นแก่ผู้ทดสอบ regex ที่เกี่ยวข้องพร้อมกับ regex ของตำรวจและกุญแจของคุณ - ผู้ทดสอบส่วนใหญ่จะมีคุณสมบัตินี้
เกณฑ์การให้คะแนน
คะแนนของตำรวจจะเป็นขนาดของ regex ของพวกเขาในหน่วยไบต์ (รูปแบบรวมถึงตัวดัดแปลง, ตัวคั่นที่อาจเกิดขึ้นจะไม่ถูกนับ) โดยที่มันไม่ได้ถูกถอดรหัส คะแนนต่ำสุดของการส่ง "ปลอดภัย" จะเป็นผู้ชนะ
คะแนนของโจรจะเป็นจำนวนของการส่งพวกเขาแตก ในกรณีที่มีการเสมอขนาดรวมของการส่งที่พวกเขาแตกจะถูกใช้เป็นตัวผูกไท ที่นี่นับไบต์สูงสุดชนะ
ตามที่ระบุไว้ข้างต้นตำรวจใด ๆ อาจเข้าร่วมเป็นโจรและในทางกลับกัน
ฉันจะรักษากระดานผู้นำแยกไว้สำหรับสองส่วนของความท้าทาย
ลีดเดอร์
ปรับปรุงล่าสุด: 19/10/2557, 20:33 UTC
ตำรวจ:
การส่งเป็นตัวเอียงยังไม่ปลอดภัย
- nneonneo 841 ไบต์
- Wumpus Q. Wumbley , 10,602 ไบต์
- Sp3000 , 52,506 ไบต์
- user23013 , 53,884 ไบต์
- nneonneo , 656,813 bytes
โจร
- ผู้ใช้ 23013 , แคร็ก: 11, ขนาดรวม: 733 + 30 + 2,447 + 71 + 109 + 121 + 97 + 60 + 141 + 200,127 + 7,563 = 211,499 ไบต์
- nneonneo , แคร็ก: 10, ขนาดรวม: 4,842 + 12,371 + 150 + 3,571 + 96 + 168 + 395 + 1,043 + 458 + 17,372 = 40,466 ไบต์
- Wumpus Q. Wumbley , แคร็ก: 6, ขนาดรวม: 22 + 24 + 158 + 32 + 145,245 + 145,475 = 290,956 ไบต์
- เดนนิส , แคร็ก: 2, ขนาดโดยรวม: 70 + 73 = 143 ไบต์
- harius , แคร็ก: 1, ขนาดรวม: 9,998ไบต์
- g.rocket , แคร็ก: 1, ขนาดรวม: 721ไบต์
- Stokastic , แคร็ก: 1, ขนาดรวม: 211ไบต์
- Sp3000 , แคร็ก: 1, ขนาดทั้งหมด: 133ไบต์
- TwiNight , Cracked: 1, ขนาดรวม: 39ไบต์