Примечание . Эта задача теперь закрыта. Представление будущих полицейских не будет рассматриваться как принятый ответ. Это сделано для того, чтобы никто не мог опубликовать очень простое регулярное выражение в будущем, которое остается неиспользованным, потому что никто больше не заинтересован в вызове.
Вызов ментов
Вы должны написать короткое, запутанное регулярное выражение, удовлетворяющее следующей спецификации:
Вы можете выбрать любой вкус, который можно свободно проверить в Интернете. На StackOverflow есть хороший список онлайн-тестеров . В частности, Regex101 должен быть хорошим для начала, поскольку он поддерживает PCRE, ECMAScript и Python. Вы можете увеличить лимит времени, нажав на гаечный ключ в правом верхнем углу, если это необходимо. Пожалуйста, включите тестер, которого вы выбрали в своем ответе.
Если для вашего вкуса нет подходящего тестера, вы можете также использовать онлайн-переводчика, например ideone, и написать небольшой скрипт на языке хоста, который люди могут использовать для проверки вашей заявки.
- Вы можете использовать любую функцию этого варианта, которая напрямую не вызывает язык хоста (например, функции оценки кода в Perl).
- Точно так же вы можете использовать любые модификаторы (если они есть у вашего аромата), если только они не приводят к оценке кода.
- Ваше регулярное выражение должно принимать хотя бы одну строку S и отклонять хотя бы одну строку T , каждая из которых имеет длину не менее 16 и не более 256 символов, в течение разумного промежутка времени (не значительно дольше минуты). S и T могут содержать символы Unicode, которые не являются ASCII, если есть способ ввести их в онлайн-тестер. Любая такая пара строк будет ключом к вашему представлению.
- Ваше регулярное выражение может занять произвольно много времени на любом другом входе.
Суть задачи заключается в создании регулярного выражения, ключ которого трудно найти. То есть, должно быть трудно сказать, какая строка не соответствует или какая строка соответствует (или, возможно, даже обе, если регулярному выражению требуются дни для завершения всех строк кроме ключа).
Вызов грабителей
Всем пользователям, включая тех, кто представил свои собственные регулярные выражения, рекомендуется «взломать» другие материалы. Отправка взламывается, когда один из ее ключей публикуется в соответствующем разделе комментариев.
Важное замечание: Убедитесь, что обе строки, которые вы публикуете, содержат от 16 до 256 символов включительно, даже если для какой-либо части ключа может использоваться почти любая строка.
Если отправка сохраняется в течение 72 часов без изменения или взлома, автор может раскрыть действительный ключ, отредактировав его в тег-спойлер в своем ответе. Это сделает его ответ «безопасным», т. Е. Его больше нельзя взломать.
Разрешается только одна попытка взлома на каждую отправку для каждого пользователя. Например, если я отправляю пользователю X: «Ваш ключ - 0123456789abcdef
/ fedcba9876543210
». и я ошибаюсь, пользователь X отвергнет мое предположение как неправильное, и я больше не смогу отправлять дополнительные предположения для этого представления, но я все еще могу взломать другие представления (и другие могут все еще взломать это представление).
Взломанные материалы исключаются из спора (при условии, что они не «безопасны»). Они не должны быть отредактированы или удалены. Если автор желает представить новое регулярное выражение, он должен сделать это в отдельном ответе.
Не взламывайте свои собственные представления!
Примечание. Для длинных строк в комментариях без пробелов SE вставляет разрывы строк вручную в виде двух символов Юникода. Таким образом, если вы разместите ключ в обратных кавычках, который настолько длинен, что он переносится между непробельными символами, вы не сможете скопировать ключ обратно в тестер регулярных выражений. В этом случае предоставьте постоянную ссылку соответствующему тестеру регулярных выражений с регулярным выражением копа и вашим ключом - большинство тестеров включают эту функцию.
счет
Счет полицейского будет равен размеру их регулярного выражения в байтах (шаблон плюс модификаторы, потенциальные разделители не учитываются), при условии, что он не был взломан. Наименьшее количество баллов за «безопасное» представление выиграет.
Оценка грабителя будет количеством взломанных представлений. В случае связи, общий размер байтов, которые они взломали, будет использоваться для разрешения конфликтов. Здесь побеждает наибольшее количество байтов.
Как указано выше, любой полицейский может участвовать в качестве грабителя и наоборот.
Я буду поддерживать отдельные таблицы лидеров для двух частей задачи.
Leaderboards
Последнее обновление: 19.10.2014, 20:33 UTC
Менты:
Материалы, выделенные курсивом, еще не безопасны.
- nneonneo , 841 байт
- Wumpus Q. Wumbley , 10 602 байта
- Sp3000 , 52506 байт
- user23013 , 53,884 байта
- nneonneo , 656 813 байт
Грабители:
- user23013 , Cracked: 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 + 1043 + 458 + 17,372 = 40,466 байт
- Wumpus В. Wumbley , Трещины: 6, общая площадь: 22 + 24 + 158 + 32 + 145,245 + 145,475 = 290,956 байт
- Dennis , Cracked: 2, общий размер: 70 + 73 = 143 байта
- harius , Cracked: 1, общий размер: 9,998 bytes
- g.rocket , Cracked: 1, общий размер: 721 bytes
- стокастик , трещины : 1, общий размер: 211 байт
- Sp3000 , трещины : 1, общий размер: 133 байта
- TwiNight , Cracked: 1, общий размер: 39 байтов