Jaką składnią posługiwać się przy wpisywaniu wzorca?

Wyrażenia regularne wpisuje się w formie separator{wyrażenie}separator, np. /^([a-z]*)$/i lub @^(?:http://)?([^/]+)@i. Stosować można wszelkie formy zgodne z funkcjami sprawdzającymi poprawność wyrażeń regularnych w PHP (przykład).

Dlaczego wyrażenie regularne powinno być wpisywane z separatorami?

Dzieje się tak dlatego, że wpisywanie wzorca z uwzględnieniem separatorów pozwala na dodanie modyfikatorów do niego. W wypadku ich braku skrypt domyślnie doda / na początku wyrażenia i / na jego końcu.

Czy mogę dodawać jakąkolwiek treść do testera?

Generalnie to użytkownik wyznacza jaką treść i pod jakim kątem chce testować. Musi on jednak posiadać pełne prawa do publikacji testowanej treści, gdyż będzie ona dostępna dla innych internautów. Należy także unikać wpisywania zwrotów obscenicznych, wulgarnych, czy wskazujących zasoby niezgodne z polskim prawem. Użytkownik ponosi pełną odpowiedzialność za treści publikowane przez niego w serwisie. Na uzasadnioną prośbę osób trzecich poszczególne wpisy mogą zostać usunięte z serwisu.

Czym są wyrażenia regularne?

Wyrażeniami regularnymi nazywami wzorce opisujące ciąg znaków.

  1. wikipedia.org - definicja wyrażeń regularnych
  2. regular-expressions.info - kompendium wiedzy
  3. php.net - użycie w PHP

Gdzie można znaleźć przykładowe wzorce?

W sieci znajduje się całe morze przykładowych wyrażeń. Warto zainteresować się przykładowo:

  1. 15 przydatnych wyrażeń regularnych w PHP
  2. regexlib.com - biblioteka wzorców

Znalazłem błąd w serwisie. Gdzie mogę go zgłosić?

Zauważone błędy proszę zgłaszać w komentarzach pod tym artykułem.

Jestem użytkownikiem forum. Czy mogę jakoś pokazać wyniki testu wyrażenia?

Tak. Przy każdym sprawdzonym wzorcu, w kolumnie identyfikatora, znajduje się odnośnik do strony testowanego wyrażenia. Wystarczy skopiować odnośnik i podzielić się nim ze znajomymi.

W jaki sposób mogę pomóc w rozwoju serwisu?

Osoby chętne do pomocy mogą jej udzielić w następujący sposób:

  1. Poprzez dobrowoloną dotację PayPal.
  2. Poprzez wykonanie tłumaczenia serwisu. Aktualnie poszukiwane są tłumaczenia na języki: niemiecki, hiszpański, francuski, włoski i rosyjski. Jeżeli jesteś zainteresowany zapraszam do korespondencji.
  3. Poprzez dodanie serwisu do ulubionych na serwisach społecznościowych.

Polityka używania cookies i podobnych technologii.

Cookies wykorzystywane są na następujących zasadach:

  1. W związku z udostępnianiem funkcji testowania wyrażeń regularnych i personalizacją regexp.pl (w dalszej części zwanego „Serwisem”) stosuje cookies (tzw. ciasteczka), tj. informacje zapisywane przez serwery na urządzeniu końcowym użytkownika. Serwery mogą odczytać informacje przy każdorazowym połączeniu się z tego urządzenia końcowego lub używać innych technologii o funkcjach tożsamych z ciasteczkami. W niniejszym dokumencie, informacje dotyczące cookies mają zastosowanie również do innych podobnych technologii stosowanych w ramach Serwisu. Pliki cookies stanowią dane informatyczne, w szczególności pliki tekstowe, które przechowywane są w urządzeniu końcowym użytkownika serwisu internetowego. Cookies zazwyczaj zawierają nazwę domeny serwisu internetowego, z którego pochodzą, czas przechowywania ich na urządzeniu końcowym oraz unikalny numer.
  2. Pliki cookies wykorzystywane są w celu:
    • dostosowania zawartości Serwisu do preferencji użytkownika oraz optymalizacji korzystania z niej; w szczególności pliki te pozwalają rozpoznać urządzenie użytkownika serwisu internetowego i odpowiednio wyświetlić stronę internetową, dostosowaną do jego indywidualnych potrzeb,
    • tworzenia statystyk, które pomagają zrozumieć, w jaki sposób użytkownicy serwisu korzystają ze stron internetowych, co umożliwia ulepszanie ich struktury i zawartości,
    • utrzymania sesji użytkownika serwisu internetowego (po zalogowaniu), dzięki której użytkownik nie musi na każdej podstronie serwisu ponownie wpisywać loginu i hasła,
    • dostarczania użytkownikom treści reklamowych bardziej dostosowanych do ich zainteresowań.
  3. W ramach naszych serwisów internetowych możemy stosować następujące rodzaje plików cookies:
    • „niezbędne” pliki cookies, umożliwiające korzystanie z usług dostępnych w ramach serwisu internetowego, np. uwierzytelniające pliki cookies wykorzystywane do usług wymagających uwierzytelniania w ramach Serwisu,
    • pliki cookies służące do zapewnienia bezpieczeństwa, np. wykorzystywane do wykrywania nadużyć w zakresie uwierzytelniania w ramach serwisu,
    • pliki cookies, umożliwiające zbieranie informacji o sposobie korzystania ze stron internetowych serwisu,
    • „funkcjonalne” pliki cookies, umożliwiające „zapamiętanie” wybranych przez użytkownika ustawień i personalizację interfejsu użytkownika, np. w zakresie wybranego języka lub regionu, z którego pochodzi użytkownik, rozmiaru czcionki, wyglądu strony internetowej itp.,
    • „reklamowe” pliki cookies, umożliwiające dostarczanie użytkownikom treści reklamowych bardziej dostosowanych do ich zainteresowań.
  4. W wielu przypadkach oprogramowanie służące do przeglądania stron internetowych (przeglądarka internetowa) domyślnie dopuszcza przechowywanie plików cookies w urządzeniu końcowym użytkownika. Użytkownicy serwisu mogą dokonać w każdym czasie zmiany ustawień dotyczących plików cookies. Ustawienia te mogą zostać zmienione w szczególności w taki sposób, aby blokować automatyczną obsługę plików cookies w ustawieniach przeglądarki internetowej bądź informować o ich każdorazowym zamieszczeniu w urządzeniu użytkownika serwisu internetowego. Szczegółowe informacje o możliwości i sposobach obsługi plików cookies dostępne są w ustawieniach oprogramowania (przeglądarki internetowej). Niedokonanie zmiany ustawień w zakresie cookies oznacza, że będą one zamieszczone w urządzeniu końcowym użytkownika, a tym samym będziemy przechowywać informacje w urządzeniu końcowym użytkownika i uzyskiwać dostęp do tych informacji.
  5. Wyłączenie stosowania cookies może spowodować utrudnienia korzystanie z niektórych usług w ramach naszych serwisów internetowych, w szczególności wymagających logowania, czy personalizacji.
  6. Pliki cookies mogą być zamieszczane w urządzeniu końcowym użytkownika serwisu internetowego, a następnie wykorzystywane przez współpracujących z Serwisem reklamodawców, przez firmy badawcze oraz dostawców aplikacji multimedialnych.

Zasady opisane przy pomocy artykułu i w zgodzie z jednoznacznym zezwoleniem jego autora do użycia podlinkowanego tam tekstu polityki cookies.

Regulamin korzystania z serwisu i przetwarzania danych.

  1. Postanowienia ogólne
    1. Niniejszy regulamin określa zasady korzystania z serwisu dostępnego pod adresem regexp.pl (zwanego dalej "serwisem"), a w tym w szczególności z mechanizmów testowania wyrażeń regularnych.
    2. Autor niniejszego serwisu określony jest w jego stopce.
    3. Przeznaczeniem głównym istnienia serwisu jest testowanie poprawności wprowadzanych danych względem wprowadzonych wyrażeń regularnych.
    4. Charakter serwisu jest osobisty, a możliwość korzystania z jego funkcjonalności została udostępniona na zasadach pro bono publico.
    5. Osoba korzystająca z serwisu nazywana jest w niniejszym regulaminie "wprowadzającym" lub "użytkownikiem", a przesyłane bezpośrednio przez użytkownika do serwisu dane "wprowadzanymi".
    6. Uzupełnieniem niniejszego regulaminu jest "Polityka używania cookies i podobnych technologii".
  2. Warunki korzystania z serwisu
    1. Działanie serwisu opiera się na weryfikowaniu danych wprowadzanych przez użytkownika.
    2. Warunkiem bezwzględnym korzystania z serwisu jest posiadanie wszelkich praw do publikowania danych, które wprowadzane są za pośrednictwem serwisu.
    3. Wprowadzając do serwisu jakiekolwiek dane zgadzasz się na ich przetwarzanie i publikację (np. w formie historii dostępnej na stronie).
    4. Zabrania się wprowadzania danych będących danymi osobowymi, wrażliwymi, stanowiących tajemnice przedsiębiorstwa, danych które mogą naruszać prawa fizycznych lub prawnych osób trzecich, co do których wprowadzający nie ma prawa do publikacji lub przetwarzania w obrębie serwisu.
    5. Wprowadzający bierze pełną odpowiedzialność za to, że dane wprowadzane są zgodne z niniejszym regulaminem oraz polskim prawem.
    6. Autor będzie reagował na zgłoszenia dotyczące naruszeń w racjonalnym czasie, po skutecznym odczytaniu zgłoszenia o potencjalnym naruszeniu.
  3. Zakres przetwarzania danych
    1. Serwis gromadzi dane niezbędne do swojego funkcjonowania zwane dalej w całości "danymi".
    2. Serwis nie profiluje użytkowników, a dane nie są gromadzone w celu identyfikacji tożsamości osób fizycznych.
    3. Z serwisu korzystają użytkownicy niezarejestrowani.
    4. W związku z przeznaczeniem działalności serwisu gromadzone są dane wprowadzane przez użytkowników, określone w warunkach korzystania z serwisu.
    5. Równolegle wraz z wprowadzaniem przez użytkownika zbierane i zapisywane są informacje o dacie wykonania akcji oraz adres IP wprowadzającego lub inne, pozyskane z ogólnodostępnych baz danych WHOIS informacje techniczne o adresie IP.
    6. Na płaszczyźnie serwerowej zbierane są logi.
    7. Ze względu na prowadzony profil działalności do danych może mieć dostęp dostawca usług internetowych zasobów serwerowych obsługujący serwis.
    8. Dane nie są automatycznie udostępniane podmiotom trzecim.
    9. Informacje wspierające zbieranie statystyk mogą być przekazywane do zewnętrznej usługi Google Statistics zgodnie z polityką prywatności firmy Google.
    10. W przypadkach prawnie uzasadnionych, np. na wniosek odpowiednich służb poszczególne dane mogą być udostępnione uprawnionym podmiotom.

regexp.pl

tester wyrażeń regularnych

Zmień język na polski.

Zmień język na angielski.

Pokaż/ukryj listę ostatnich testów.

Pokaż listę tylko moich testów.

Pokaż listę wszystkich testów.

Wyświetl zawartość kanału RSS.

Pokaż pomoc.

Rozwiń listę wyników, aby zobaczyć rezultat testu.

Tester wyrażeń regularnych pozwoli Ci w prosty sposób sprawdzić poprawność wykorzystywnego wzorca i frazy. Wystarczy, że wypełnisz poniższy formularz, a skrypt zwróci wszelkie niezbędne do walidacji dane.

Dodając wzorzec i ciąg znaków do sprawdzenia potwierdzasz, że masz pełne prawa do upubliczniania zawartych w nich treści oraz, że akceptujesz regulamin korzystania z serwisu.

ID Wyrażenie regularne Ciąg znaków Wynik Zwracane ciągi znaków Link
79998 [A-Z0-9]{8} $.ajaxSetup({
beforeSend:function(xhr){
var token = $('input[name=csrfmiddlewaretoken]').attr('value');
xhr.setRequestHeader('Accept', 'text/javascript');
xhr.setRequestHeader('X-CSRFToken', token);
}
});

$(function(){
if($('body.user-show').length){
var $form = $('form.code'),
$clues = $('ul.clues'),
$clueTitle = $('div.clue-box h3'),
$answered = $('span.answered');

$form.bind('submit', function(e){
e.preventDefault();

var options = {
url: $form.attr('action'),
type: $form.attr('method'),
data: $form.serialize(),
dataType: 'json',
beforeSend: function(){
$('div.errors').remove();
},
complete: function(){
$form.find('input[name=code]').val('');
},
success: function(data){
if(data.location){
window.location = data.location;
}
if(data.error){
var $error = $('div.errors p');
if($error.length){
$error.text(data.error);
} else {
$('<div class="errors"><p>'+data.error+'</p></div>').prependTo('div.primary');
}
} else {
var html = "";

$clueTitle.text('Clue' + (data.clues.length > 1 ? 's' : '') + ':');
$.each(data.clues, function(i, el){
html = html + "<li>" + el + "</li>";
});
$clues.html(html);
$answered.text(data.found);

syncLeaderboard();
}
}
};
$.ajax(options);
});

}
});

$(function(){
/// Update the time taken clock. Faster!
if($('body.user-show').length){
var $time = $('.time'),
start = new Date();

if($time.length){
start.setISO8601($time.data('start'));
window.setInterval(function(){
var diff = ((+new Date()) - start)/1000;
$time.text(prettyDate(diff));
}, 200);
}
}
});

function syncLeaderboard(){
/// Sync the leaderboard
var $leaderboard = $('table.leaderboard tbody');

$.ajax({
dataType: 'html',
method: 'get',
url: '/leaderboard/update',
success: function(data){
var $newboard = $(data);
$leaderboard.replaceWith($newboard.find('tbody'));
}
});
}


function prettyDate(second_diff){
var day_diff = second_diff / 60 / 60 / 24,
chunks = [ [60 * 60 * 24 * 365 , 'year'],
[60 * 60 * 24 * 30 , 'month'],
[60 * 60 * 24 * 7, 'week'],
[60 * 60 * 24 , 'day'],
[60 * 60 , 'hour'],
[60 , 'minute'],
[1 , 'second'] ],
output = '',
i,j, period, name, count;

for(i=0, j=chunks.length; i < j; i++){
period = chunks[i][0];
name = chunks[i][1];

if(output != ''){
if(Math.floor(second_diff / period) != 0){
count = Math.floor(second_diff / period);
output += " "+ count +" "+ name + (count == 1 ? '' : 's');
}
break;
}
if(Math.floor(second_diff / period) != 0){
count = Math.floor(second_diff / period);
second_diff = second_diff - (period * count);
output += count +" "+ name + (count == 1 ? '' : 's');
}
}
return output
}


// Original at: http://delete.me.uk/2005/03/iso8601.html
Date.prototype.setISO8601 = function (string) {
var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" +
"(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(.([0-9]+))?)?" +
"(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?";
var d = string.match(new RegExp(regexp));

var offset = 0;
var date = new Date(d[1], 0, 1);

if (d[3]) { date.setMonth(d[3] - 1); }
if (d[5]) { date.setDate(d[5]); }
if (d[7]) { date.setHours(d[7]); }
if (d[8]) { date.setMinutes(d[8]); }
if (d[10]) { date.setSeconds(d[10]); }
if (d[12]) { date.setMilliseconds(Number("0." + d[12]) * 1000); }
if (d[14]) {
offset = (Number(d[16]) * 60) + Number(d[17]);
offset *= ((d[15] == '-') ? 1 : -1);
}

offset -= date.getTimezoneOffset();
time = (Number(date) + (offset * 60 * 1000));
this.setTime(Number(time));
}
fałsz
79997 [A-Z0-9]{8} <!doctype html>
<html>
<head>
Challenge - spider.io



<!--[if lt IE 9]>

<![endif]-->
<!--[if IEMobile]>-->



<!--<![endif]-->
</head>
<body class="user-show">
<div class="wrapper">
<nav class="navigation">
<ul>
<li><a href="http://spider.io/about/">About</a></li>
<li><a href="http://spider.io/careers/">Careers</a></li>

<li><a href="http://spider.io/blog/">Blog</a></li>

<li><a href="/logout">Log Out</a></li>

</ul>
</nav>
<header>
<h1 class="brand">
<a href="/" title="">spider.io</a>

</h1>
</header>
<div class="block">


<div class="column primary">
<h1>Challenge</h1>
<p>Try to find the codes hidden in and around this page.</p>
<p>The code format is [A-Z0-9]{8}, and with each code that you find we'll give you a clue to help you find the next code.</p>
<p> Best of luck!</p>

<div class="info-blocks">
<p><em><span class="answered">1</span>/14</em> codes found</p>

<p><em class="time" data-start="2011-11-16T21:03:10"></em> time taken</p>

</div>


<form method="post" action="/user" class="general code">

<div style='display:none'><input type='hidden' name='csrfmiddlewaretoken' value='04ea180dbf4e2f11f3189b686dbb0954' /></div>
<ol>
<li>
<label for="code">Code:</label>
<input type="text" name="code" value="" placeholder="code">
</li>
</ol>
<div class="submit">

<button type="submit">Submit Code</button>
</div>
</form>
<div class="clue-box">
<h3>Clue:</h3>
<ul class="clues">

<li>Off with his head

</ul>

</div>

<div class="info">
<p>If you run into any problems, let us know: <a href="mailto:[email protected]">[email protected]</a></p>
</div>


</div>
<div class="column secondary">

<h2>Leaderboard</h2>
<table summary="Challenge Leader Board" class="leaderboard small">

<thead>
<tr>
<th class="position"> </th>
<th class="name">Name</th>
<th class="clues">Codes</th>
<th class="time-taken">Time Taken</th>
</tr>

</thead>
<tbody>

<tr>

<td class="position">1.</td>

<td><a href="http://twitter.com/p____h">
p____h</a></td>
<td>14</td>

<td>57 minutes 51 seconds</td>
</tr>

<tr>

<td class="position">2.</td>

<td><a href="http://twitter.com/mdalewski">
mdalewski</a></td>
<td>14</td>

<td>1 hour</td>
</tr>

<tr>

<td class="position">3.</td>

<td><a href="http://twitter.com/mietek">
mietek</a></td>
<td>14</td>

<td>1 hour 1 minute</td>
</tr>

<tr>

<td class="position">4.</td>

<td><a href="http://twitter.com/rraptorrpl">
rraptorrpl</a></td>
<td>14</td>

<td>1 hour 6 minutes</td>
</tr>

<tr>

<td class="position">5.</td>

<td><a href="http://twitter.com/Edgemaster">
Edgemaster</a></td>
<td>14</td>

<td>1 hour 18 minutes</td>
</tr>

<tr>

<td class="position">6.</td>

<td><a href="http://twitter.com/kr1612">
kr1612</a></td>
<td>14</td>

<td>1 hour 28 minutes</td>
</tr>

<tr>

<td class="position">7.</td>

<td><a href="http://twitter.com/niebezpiecznik">
niebezpiecznik</a></td>
<td>14</td>

<td>2 hours 20 minutes</td>
</tr>

<tr>

<td class="position">8.</td>

<td><a href="http://twitter.com/KKKas_">
KKKas_</a></td>
<td>14</td>

<td>2 hours 43 minutes</td>
</tr>

<tr>

<td class="position">9.</td>

<td><a href="http://twitter.com/tackers">
tackers</a></td>
<td>14</td>

<td>2 hours 51 minutes</td>
</tr>

<tr>

<td class="position">10.</td>

<td><a href="http://twitter.com/nkd79">
nkd79</a></td>
<td>14</td>

<td>2 hours 57 minutes</td>
</tr>


<tr>
<td colspan="4" class="many">⋮</td>
</tr>
<tr class="user">
<td class="position">486.</td>
<td><a href="http://twitter.com/">

vieltapl</a></td>
<td>1</td>
<td>15 minutes 43 seconds</td>
</tr>

</tbody>
</table>
<div class="table-foot size-10"></div>


<p class="full-leaderboard"><a href="/leaderboard">view full leaderboard →</a></p>


</div>

</div>
<div class="block">

<div class="g-plusone" data-size="tall" data-href="http://challenge.spider.io" data-expandto="right"></div>
<a href="https://twitter.com/share"
class="twitter-share-button"
data-count="vertical"
data-text="Take the spider.io challenge. #spider_io"
data-url="http://challenge.spider.io/">Tweet</a>
<div class="fb-like" data-href="http://challenge.spider.io" data-send="false" data-layout="box_count" data-width="55" data-show-faces="true"></div>



(function() {
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
po.src = 'https://apis.google.com/js/plusone.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();

<div class="google-plus-info" style="display:none">
<span itemprop="name">spider.io challenge</span>
<span itemprop="description">Take the spider.io challenge.</span>
</div>
<div id="fb-root"></div>

(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</div>
<footer>
<p>© 2011 <a href="http://spider.io">spider.io</a></p>
</footer>
</div>




var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-26478706-1']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

</body>
</html>
prawda
  1. 26478706
79996 [A-Z0-9]{8} /* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
prawda
  1. 20110126
79995 [A-Z0-9]{8} /*** C5JPC6YW ***/

/***
* Base.css
*
***/

/*** Globals ***/

html {
min-height: 100%;
}
body {
height: 100%;
font: 62.5%/1.3 georgia, serif;
background: #b1b1b1;
background: -moz-linear-gradient(top, #3a3a3a 0%, #a1a1a1 40%, #b1b1b1 50%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#3a3a3a), color-stop(40%, #a1a1a1), color-stop(50%,#b1b1b1));
background: -webkit-linear-gradient(top, #3a3a3a 0%, #a1a1a1 40%, #b1b1b1 50%);
background: -o-linear-gradient(top, #3a3a3a 0%, #a1a1a1 40%, #b1b1b1 50%);
background: -ms-linear-gradient(top, #3a3a3a 0%, #a1a1a1 40%, #b1b1b1 50%);
background: linear-gradient(top, #3a3a3a 0%, #a1a1a1 40%, #b1b1b1 50%);
}

/*** Globals > Typography ***/
h1 {
margin-bottom: 0.5em;
font-size: 2em;
font-weight: bold;
line-height: 1.3;
color: #B60009;
}
h2 {
margin-bottom: 0.5em;
font-size: 2em;
font-weight: bold;
line-height: 1.3;
}
h3 {
margin-bottom: 0.5em;
font-weight: bold;
font-size: 1.8em;
line-height: 1.3;
}
p {
font-size: 1.4em;
line-height: 1.6;
padding-bottom: 0.5em;
text-align: justify;
}

/*** Globals > Links ***/

a {}


/************************************
*** Layout ***
************************************/

header,
footer {
text-align: center;
}
div.wrapper {
width: 920px;
margin: 0 auto;
text-align: left;
}

/*** Layout > Header ***/

header {
margin: 0.75em auto 2em;
height: 32em;
background: #191919 url(/logo) no-repeat 50% 0;
-webkit-box-shadow: 0 0 10px rgba(0,0,0,0.4);
-moz-box-shadow: 0 0 10px rgba(0,0,0,0.4);
box-shadow: 0 0 10px rgba(0,0,0,0.4);
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
}
header h1 {
font-size: 1em;
line-height: 1;
margin: 0;
}
header h1 a {
display: block;
width: 100%;
height: 32em;
text-indent: -9999em;
}

/*** Layout > Navigation ***/

.navigation {
text-align: right;
font-family: "Lucida Grande", Lucida, calibri, sans-serif;
}
.navigation ul li {
display: inline-block;
color: #fff;
font-size: 1.2em;
font-family: helvetica, sans-serif;
margin: 1.5em 0.7em 0em 0;
padding-right: 0.7em;
border-right: 1px solid;

*display:inline;
zoom:1;
}
.navigation ul li:last-child {
border: 0;
}
.navigation ul li a {
color: #fff;
text-decoration: none;
text-transform: uppercase;
}
.navigation ul li a:hover,
.navigation ul li a:focus,
.navigation ul li a:active {
text-decoration: underline;
}

/*** Layout > Main ***/

div.block {
text-align: center;
padding: 2em;
text-align: left;
background: #fff;
-webkit-box-shadow: 0 0 5px rgba(0,0,0,0.3);
-moz-box-shadow: 0 0 5px rgba(0,0,0,0.3);
box-shadow: 0 0 5px rgba(0,0,0,0.3);
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
overflow: hidden;
margin-bottom: 3em;
}

/*** Layout > Footer ***/
footer {
color: #fff;
margin-top: 5em;
}
footer p {
text-align: center;
}
footer a {
color: #fff;
text-decoration: none;
}

/************************************
*** Objects ***
************************************/

/*** Objects > Form ***/

form.general {
overflow: hidden;
}
form.general ol {
padding: 0.5em 0;
}
form.general ol li {
line-height: 2em;
margin-bottom: 0.5em;
}
form.general ol li label {
display: block;
width: 10em;
float: left;
font-size: 1.3em;
line-height: 2.2em;
}
form.general ol li input {
width: 13em;
font-size: 1.3em;
padding: 5px;
border: 1px solid #999;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
}
form.general ol li input:focus,
form.general ol li input:active,
form.general ol li textarea:focus,
form.general ol li textarea:active {
-webkit-box-shadow: 0 0 4px rgba(255,0,0,0.5);
-moz-box-shadow: 0 0 4px rgba(255,0,0,0.5);
box-shadow: 0 0 4px rgba(255,0,0,0.5);
outline: none;
}
form.general div.submit {
clear: both;
text-align: right;
}
form.general div.submit button {
font-size: 1.2em;
padding: 4px;
}

/*** Objects > Form > Code ***/
form.general.code {
margin: 0 auto;
width: 36em;
}
form.general.code ol {
float: left;
}
form.general.code ol li label {
font-weight: bold;
width: 5em;
}
form.general.code div.submit {
float: left;
clear: none;
padding: 5px 0 5px 10px;
}
form.general.code div.submit button {
color: #fff;
padding: 6px 10px;
border: 1px solid #1B7F18;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
-moz-box-shadow: inset 0 0 1px rgba(255,255,255,1), 0 0 4px rgba(0,255,0,0.4);
-webkit-box-shadow: inset 0 0 1px rgba(255,255,255,1), 0 0 4px rgba(0,255,0,0.4);
box-shadow: inset 0 0 1px rgba(255,255,255,1), 0 0 4px rgba(0,255,0,0.4);
background: #26bf24;
background: -moz-linear-gradient(top, #26bf24 50%, #22a81f 50%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(50%,#26bf24), color-stop(50%,#22a81f));
background: -webkit-linear-gradient(top, #26bf24 50%,#22a81f 50%);
background: -o-linear-gradient(top, #26bf24 50%,#22a81f 50%);
background: -ms-linear-gradient(top, #26bf24 50%,#22a81f 50%);
background: linear-gradient(top, #26bf24 50%,#22a81f 50%);
}
form.general.code div.submit button:focus,
form.general.code div.submit button:hover,
form.general.code div.submit button:active {
-moz-box-shadow: inset 0 0 1px rgba(255,255,255,1), 0 0 10px rgba(0,255,0,0.7);
-webkit-box-shadow: inset 0 0 1px rgba(255,255,255,1), 0 0 10px rgba(0,255,0,0.7);
box-shadow: inset 0 0 1px rgba(255,255,255,1), 0 0 10px rgba(0,255,0,0.7);
}


/*** Objects > Form > Email ***/
form.general.email ol {
float: left;
}
form.general.email div.submit {
float: left;
clear: none;
padding: 5px 0 5px 10px;
}


/*** Objects > Errors ***/
div.errors {
padding: 1em;
margin-bottom: 1em;
background: rgba(255,0,0,0.3);
border: 1px solid rgba(255,0,0,0.8);
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
div.errors p {
padding: 0;
color: #000;
color: rgb(100,0,0);
}

/*** Objects > Table ***/
table.leaderboard {
width: 100%;
margin: 0 auto;
border-collapse: separate;
}
table.leaderboard td,
table.leaderboard th {
font-size: 1.4em;
padding: 5px;
background: #f5f5f5;
}
div.secondary table.leaderboard td,
div.secondary table.leaderboard th {
font-size: 1.2em;
}
table.leaderboard tr:nth-child(2n) td {
background: #e9e9e9
}
table.leaderboard thead tr th {
color: #fff;
background: #c12427;
background: -moz-linear-gradient(top, #c12427 50%, #a91f23 50%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(50%,#c12427), color-stop(50%,#a91f23));
background: -webkit-linear-gradient(top, #c12427 50%,#a91f23 50%);
background: -o-linear-gradient(top, #c12427 50%,#a91f23 50%);
background: -ms-linear-gradient(top, #c12427 50%,#a91f23 50%);
background: linear-gradient(top, #c12427 50%,#a91f23 50%);
}
table.leaderboard thead tr th {
border-right: 1px solid rgba(255,255,255,0.1);
border-left: 1px solid rgba(0,0,0,0.1);
}
table.leaderboard tbody tr td {
border-right: 0;
border-left: 1px solid #dcdcdc;
}
table.leaderboard thead tr th.position {
border-left: 0;
-moz-border-radius-topleft: 5px;
-moz-border-radius-topright: 0;
-webkit-border-radius: 5px 0 0px 0px;
border-radius: 5px 0 0px 0px;
}
table.leaderboard thead tr th.time-taken {
border-right: 0;
-moz-border-radius-topleft: 0;
-moz-border-radius-topright: 5px;
-webkit-border-radius: 0 5px 0px 0px;
border-radius: 0 5px 0px 0px;
}
table.leaderboard tbody tr td.position {
border-left: 0;
}
table.leaderboard thead tr th.code,
table.leaderboard tbody tr td.code {
border-left: 1px solid rgba(0,0,0,0.1);
}
table.leaderboard tbody tr td {
border-top: 1px solid #dcdcdc;
}
table.leaderboard tr.user {
font-weight: bold;
}
table.leaderboard tr.user td {
background-color: #fdd;
}
table.leaderboard tr td.many {
color: #999;
text-align: left;
padding: 4px 4px 4px 6px;
border-left: 0;
}
div.secondary div.table-foot {
border-top: 1px solid rgba(0,0,0,0.1);
background: #f5f5f5;
width: 100%;
height: 100px;
}
div.secondary div.table-foot.size-10 { height: 0; }
div.secondary div.table-foot.size-9 { height: 27px; }
div.secondary div.table-foot.size-8 { height: 54px; }
div.secondary div.table-foot.size-7 { height: 81px; }
div.secondary div.table-foot.size-6 { height: 108px; }
div.secondary div.table-foot.size-5 { height: 135px; }
div.secondary div.table-foot.size-4 { height: 162px; }
div.secondary div.table-foot.size-3 { height: 189px; }
div.secondary div.table-foot.size-2 { height: 216px; }
div.secondary div.table-foot.size-1 { height: 243px; }



/*** Objects > iFrame ***/
iframe {
border: 0;
}

/*** Twitter Login ***/
p.twitter.sign-in {
text-align: center;
line-height: 30px;
margin: 50px 0 100px;
}
p.twitter.sign-in a {
font-family: sans-serif;
display: inline-block;
padding: 10px 15px;
color: #fff;
border: 1px solid #4D93A8;
-moz-box-shadow: inset 0 0 1px rgba(255,255,255,1), 0 0 4px rgba(0,0,255,0.4);
-webkit-box-shadow: inset 0 0 1px rgba(255,255,255,1), 0 0 4px rgba(0,0,255,0.4);
box-shadow: inset 0 0 1px rgba(255,255,255,1), 0 0 4px rgba(0,0,255,0.4);
text-shadow: 1px 1px 0 rgba(0,0,105,0.3);
text-decoration: none;
-moz-border-radius: 20px;
-webkit-border-radius: 20px;
border-radius: 20px;
background: #6bcbea;
background: -moz-linear-gradient(top, #6bcbea 0%, #6bcbea 50%, #35b6d8 50%, #52caea 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#6bcbea), color-stop(50%,#6bcbea), color-stop(50%,#35b6d8), color-stop(100%,#52caea));
background: -webkit-linear-gradient(top, #6bcbea 0%,#6bcbea 50%,#35b6d8 50%,#52caea 100%);
background: -o-linear-gradient(top, #6bcbea 0%,#6bcbea 50%,#35b6d8 50%,#52caea 100%);
background: -ms-linear-gradient(top, #6bcbea 0%,#6bcbea 50%,#35b6d8 50%,#52caea 100%);
background: linear-gradient(top, #6bcbea 0%,#6bcbea 50%,#35b6d8 50%,#52caea 100%);
}
p.twitter.sign-in a:hover,
p.twitter.sign-in a:focus {
-moz-box-shadow: inset 0 0 1px rgba(255,255,255,1), 0 0 10px rgba(50,171,201,0.7);
-webkit-box-shadow: inset 0 0 1px rgba(255,255,255,1), 0 0 10px rgba(50,171,201,0.7);
box-shadow: inset 0 0 1px rgba(255,255,255,1), 0 0 10px rgba(50,171,201,0.7);
}
p.twitter.sign-in a:active {
background: #64bfdb;
background: -moz-linear-gradient(top, #64bfdb 0%, #64bfdb 50%, #32abc9 50%, #4ebfdb 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#64bfdb), color-stop(50%,#64bfdb), color-stop(50%,#32abc9), color-stop(100%,#4ebfdb));
background: -webkit-linear-gradient(top, #64bfdb 0%,#64bfdb 50%,#32abc9 50%,#4ebfdb 100%);
background: -o-linear-gradient(top, #64bfdb 0%,#64bfdb 50%,#32abc9 50%,#4ebfdb 100%);
background: -ms-linear-gradient(top, #64bfdb 0%,#64bfdb 50%,#32abc9 50%,#4ebfdb 100%);
background: linear-gradient(top, #64bfdb 0%,#64bfdb 50%,#32abc9 50%,#4ebfdb 100%);
}
p.twitter.sign-in span.sign {
display: inline-block;
line-height: 30px;
padding-left: 34px;
background: transparent url(/static/images/twitter-t.png) no-repeat 0 50%;
}


/*** Leader Board Small ***/
p.full-leaderboard {
padding-top: 0.5em;
text-align: right;
}
/*** Time Taken ***/
p.time-taken {
margin-left: 10px;
float: left;
}

/*** Objects > Info Block ***/
div.info-blocks {
padding: .5em 0;
margin: 3em 0;
overflow: hidden;
text-align: center;
}
div.info-blocks p {
display: inline-block;
text-align: center;
line-height: 1;
width: 40%;
margin: 0 10px;
color: #fff;
padding: 10px 4px;
font-family: sans-serif;
background: #c12427;
background: -moz-linear-gradient(top, #c12427 50%, #a91f23 50%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(50%,#c12427), color-stop(50%,#a91f23));
background: -webkit-linear-gradient(top, #c12427 50%,#a91f23 50%);
background: -o-linear-gradient(top, #c12427 50%,#a91f23 50%);
background: -ms-linear-gradient(top, #c12427 50%,#a91f23 50%);
background: linear-gradient(top, #c12427 50%,#a91f23 50%);
border: 1px solid #a91f23;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
-moz-box-shadow: inset 0 0 1px rgba(255,255,255,1), 0 0 4px rgba(0,255,0,0.4);
-webkit-box-shadow: inset 0 0 1px rgba(255,255,255,1), 0 0 4px rgba(0,255,0,0.4);
box-shadow: inset 0 0 1px rgba(255,255,255,1), 1px 1px 4px rgba(0,0,0,0.4);

*display: inline;
zoom:1;
}
div.info-blocks.complete p {
border: 1px solid #1B7F18;
background: #26bf24;
background: -moz-linear-gradient(top, #26bf24 50%, #22a81f 50%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(50%,#26bf24), color-stop(50%,#22a81f));
background: -webkit-linear-gradient(top, #26bf24 50%,#22a81f 50%);
background: -o-linear-gradient(top, #26bf24 50%,#22a81f 50%);
background: -ms-linear-gradient(top, #26bf24 50%,#22a81f 50%);
background: linear-gradient(top, #26bf24 50%,#22a81f 50%);
}
div.info-blocks em {
display: block;
text-align: center;
font-size: 1.5em;
padding-bottom: 3px;
}

/*** Objects > Clue List ***/
div.clue-box {
overflow: hidden;
margin-bottom: 3em;
}
div.clue-box h3 {
font-size: 1.4em;
float: left;
line-height:1.8;
margin-left: 100px;
}
div.clue-box ul.clues {
float: left;
}
div.clue-box ul.clues li {
font-size: 1.4em;
font-style: italic;
margin-left: 2em;
line-height: 1.8;
}


div.info,
div.info a {
font-style: italic;
color: #aaa;
}

/*** Objects > Pagination ***/
ul.pagination {
overflow: hidden;
text-align: center;
margin: 20px 0;
}
.pagination li {
display: inline-block;
font-size: 1.2em;
margin: 5px;
}
.pagination li a {
display: block;
padding: 4px 10px;
border: 1px solid;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
color: #333;
text-decoration: none;
}
.pagination li a:hover,
.pagination li a:active,
.pagination li a:focus {
background: #a00;
color: #fff;
}

/************************************
*** Pages ***
************************************/

div.column {
width: 300px;
float: left;
}
div.column.primary {
width: 560px;
margin-right: 20px;
}
div.column.secondary h2 {
}

/*** Leaderboard ***/
body.leaderboard table.leaderboard {
margin-bottom: 4em;
}

prawda
  1. C5JPC6YW
79994 [A-Z0-9]{8} <!doctype html>
<html>
<head>
Challenge - spider.io



<!--[if lt IE 9]>

<![endif]-->
<!--[if IEMobile]>-->


<!--<![endif]-->
</head>
<body class="user-show">
<div class="wrapper">
<nav class="navigation">
<ul>
<li><a href="http://spider.io/about/">About</a></li>
<li><a href="http://spider.io/careers/">Careers</a></li>
<li><a href="http://spider.io/blog/">Blog</a></li>

<li><a href="/logout">Log Out</a></li>

</ul>
</nav>
<header>
<h1 class="brand">
<a href="/" title="">spider.io</a>
</h1>
</header>
<div class="block">


<div class="column primary">
<h1>Challenge</h1>
<p>Try to find the codes hidden in and around this page.</p>
<p>The code format is [A-Z0-9]{8}, and with each code that you find we'll give you a clue to help you find the next code.</p>
<p> Best of luck!</p>

<div class="info-blocks">
<p><em><span class="answered">0</span>/14</em> codes found</p>

<p><em class="time" data-start="2011-11-12T01:29:24"></em> time taken</p>

</div>


<form method="post" action="/user" class="general code">
<div style='display:none'><input type='hidden' name='csrfmiddlewaretoken' value='886afa4b3e8e716514ae9d10943042e5' /></div>
<ol>
<li>
<label for="code">Code:</label>
<input type="text" name="code" value="" placeholder="code">
</li>
</ol>
<div class="submit">
<button type="submit">Submit Code</button>
</div>
</form>
<div class="clue-box">
<h3>Clue:</h3>
<ul class="clues">

<li>Use the source

</ul>
</div>

<div class="info">
<p>If you run into any problems, let us know: <a href="mailto:[email protected]">[email protected]</a></p>
</div>


</div>
<div class="column secondary">

<h2>Leaderboard</h2>
<table summary="Challenge Leader Board" class="leaderboard small">
<thead>
<tr>
<th class="position"> </th>
<th class="name">Name</th>
<th class="clues">Codes</th>
<th class="time-taken">Time Taken</th>
</tr>
</thead>
<tbody>

<tr>

<td class="position">1.</td>

<td><a href="http://twitter.com/PennerGames">
PennerGames</a></td>
<td>14</td>
<td>33 minutes 20 seconds</td>
</tr>

<tr>

<td class="position">2.</td>

<td><a href="http://twitter.com/p____h">
p____h</a></td>
<td>14</td>
<td>57 minutes 51 seconds</td>
</tr>

<tr>

<td class="position">3.</td>

<td><a href="http://twitter.com/mdalewski">
mdalewski</a></td>
<td>14</td>
<td>1 hour</td>
</tr>

<tr>

<td class="position">4.</td>

<td><a href="http://twitter.com/mietek">
mietek</a></td>
<td>14</td>
<td>1 hour 1 minute</td>
</tr>

<tr>

<td class="position">5.</td>

<td><a href="http://twitter.com/rraptorrpl">
rraptorrpl</a></td>
<td>14</td>
<td>1 hour 6 minutes</td>
</tr>

<tr>

<td class="position">6.</td>

<td><a href="http://twitter.com/Edgemaster">
Edgemaster</a></td>
<td>14</td>
<td>1 hour 18 minutes</td>
</tr>

<tr>

<td class="position">7.</td>

<td><a href="http://twitter.com/kr1612">
kr1612</a></td>
<td>14</td>
<td>1 hour 28 minutes</td>
</tr>

<tr>

<td class="position">8.</td>

<td><a href="http://twitter.com/niebezpiecznik">
niebezpiecznik</a></td>
<td>14</td>
<td>2 hours 20 minutes</td>
</tr>

<tr>

<td class="position">9.</td>

<td><a href="http://twitter.com/KKKas_">
KKKas_</a></td>
<td>14</td>
<td>2 hours 43 minutes</td>
</tr>

<tr>

<td class="position">10.</td>

<td><a href="http://twitter.com/tackers">
tackers</a></td>
<td>14</td>
<td>2 hours 51 minutes</td>
</tr>


<tr>
<td colspan="4" class="many">⋮</td>
</tr>
<tr class="user">
<td class="position">513.</td>
<td><a href="http://twitter.com/">
jestemnapizgany</a></td>
<td>0</td>
<td></td>
</tr>

</tbody>
</table>
<div class="table-foot size-10"></div>


<p class="full-leaderboard"><a href="/leaderboard">view full leaderboard →</a></p>

</div>

</div>
<div class="block">

<div class="g-plusone" data-size="tall" data-href="http://challenge.spider.io" data-expandto="right"></div>
<a href="https://twitter.com/share"
class="twitter-share-button"
data-count="vertical"
data-text="Take the spider.io challenge. #spider_io"
data-url="http://challenge.spider.io/">Tweet</a>
<div class="fb-like" data-href="http://challenge.spider.io" data-send="false" data-layout="box_count" data-width="55" data-show-faces="true"></div>


(function() {
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
po.src = 'https://apis.google.com/js/plusone.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();

<div class="google-plus-info" style="display:none">
<span itemprop="name">spider.io challenge</span>
<span itemprop="description">Take the spider.io challenge.</span>
</div>
<div id="fb-root"></div>
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</div>
<footer>
<p>© 2011 <a href="http://spider.io">spider.io</a></p>
</footer>
</div>



var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-26478706-1']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

</body>
</html>
prawda
  1. 10943042
  2. 26478706
79993 [A-Za-z0-9]{8} <!doctype html>
<html>
<head>
Challenge - spider.io



<!--[if lt IE 9]>

<![endif]-->
<!--[if IEMobile]>-->


<!--<![endif]-->
</head>
<body class="user-show">
<div class="wrapper">
<nav class="navigation">
<ul>
<li><a href="http://spider.io/about/">About</a></li>
<li><a href="http://spider.io/careers/">Careers</a></li>
<li><a href="http://spider.io/blog/">Blog</a></li>

<li><a href="/logout">Log Out</a></li>

</ul>
</nav>
<header>
<h1 class="brand">
<a href="/" title="">spider.io</a>
</h1>
</header>
<div class="block">


<div class="column primary">
<h1>Challenge</h1>
<p>Try to find the codes hidden in and around this page.</p>
<p>The code format is [A-Z0-9]{8}, and with each code that you find we'll give you a clue to help you find the next code.</p>
<p> Best of luck!</p>

<div class="info-blocks">
<p><em><span class="answered">0</span>/14</em> codes found</p>

<p><em class="time" data-start="2011-11-12T01:29:24"></em> time taken</p>

</div>


<form method="post" action="/user" class="general code">
<div style='display:none'><input type='hidden' name='csrfmiddlewaretoken' value='886afa4b3e8e716514ae9d10943042e5' /></div>
<ol>
<li>
<label for="code">Code:</label>
<input type="text" name="code" value="" placeholder="code">
</li>
</ol>
<div class="submit">
<button type="submit">Submit Code</button>
</div>
</form>
<div class="clue-box">
<h3>Clue:</h3>
<ul class="clues">

<li>Use the source

</ul>
</div>

<div class="info">
<p>If you run into any problems, let us know: <a href="mailto:[email protected]">[email protected]</a></p>
</div>


</div>
<div class="column secondary">

<h2>Leaderboard</h2>
<table summary="Challenge Leader Board" class="leaderboard small">
<thead>
<tr>
<th class="position"> </th>
<th class="name">Name</th>
<th class="clues">Codes</th>
<th class="time-taken">Time Taken</th>
</tr>
</thead>
<tbody>

<tr>

<td class="position">1.</td>

<td><a href="http://twitter.com/PennerGames">
PennerGames</a></td>
<td>14</td>
<td>33 minutes 20 seconds</td>
</tr>

<tr>

<td class="position">2.</td>

<td><a href="http://twitter.com/p____h">
p____h</a></td>
<td>14</td>
<td>57 minutes 51 seconds</td>
</tr>

<tr>

<td class="position">3.</td>

<td><a href="http://twitter.com/mdalewski">
mdalewski</a></td>
<td>14</td>
<td>1 hour</td>
</tr>

<tr>

<td class="position">4.</td>

<td><a href="http://twitter.com/mietek">
mietek</a></td>
<td>14</td>
<td>1 hour 1 minute</td>
</tr>

<tr>

<td class="position">5.</td>

<td><a href="http://twitter.com/rraptorrpl">
rraptorrpl</a></td>
<td>14</td>
<td>1 hour 6 minutes</td>
</tr>

<tr>

<td class="position">6.</td>

<td><a href="http://twitter.com/Edgemaster">
Edgemaster</a></td>
<td>14</td>
<td>1 hour 18 minutes</td>
</tr>

<tr>

<td class="position">7.</td>

<td><a href="http://twitter.com/kr1612">
kr1612</a></td>
<td>14</td>
<td>1 hour 28 minutes</td>
</tr>

<tr>

<td class="position">8.</td>

<td><a href="http://twitter.com/niebezpiecznik">
niebezpiecznik</a></td>
<td>14</td>
<td>2 hours 20 minutes</td>
</tr>

<tr>

<td class="position">9.</td>

<td><a href="http://twitter.com/KKKas_">
KKKas_</a></td>
<td>14</td>
<td>2 hours 43 minutes</td>
</tr>

<tr>

<td class="position">10.</td>

<td><a href="http://twitter.com/tackers">
tackers</a></td>
<td>14</td>
<td>2 hours 51 minutes</td>
</tr>


<tr>
<td colspan="4" class="many">⋮</td>
</tr>
<tr class="user">
<td class="position">513.</td>
<td><a href="http://twitter.com/">
jestemnapizgany</a></td>
<td>0</td>
<td></td>
</tr>

</tbody>
</table>
<div class="table-foot size-10"></div>


<p class="full-leaderboard"><a href="/leaderboard">view full leaderboard →</a></p>

</div>

</div>
<div class="block">

<div class="g-plusone" data-size="tall" data-href="http://challenge.spider.io" data-expandto="right"></div>
<a href="https://twitter.com/share"
class="twitter-share-button"
data-count="vertical"
data-text="Take the spider.io challenge. #spider_io"
data-url="http://challenge.spider.io/">Tweet</a>
<div class="fb-like" data-href="http://challenge.spider.io" data-send="false" data-layout="box_count" data-width="55" data-show-faces="true"></div>


(function() {
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
po.src = 'https://apis.google.com/js/plusone.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();

<div class="google-plus-info" style="display:none">
<span itemprop="name">spider.io challenge</span>
<span itemprop="description">Take the spider.io challenge.</span>
</div>
<div id="fb-root"></div>
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</div>
<footer>
<p>© 2011 <a href="http://spider.io">spider.io</a></p>
</footer>
</div>



var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-26478706-1']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

</body>
</html>
prawda
  1. Challeng
  2. IEMobile
  3. navigati
  4. Challeng
  5. answered
  6. csrfmidd
  7. lewareto
  8. 886afa4b
  9. 3e8e7165
  10. 14ae9d10
  11. 943042e5
  12. placehol
  13. problems
  14. challeng
  15. challeng
  16. secondar
  17. Leaderbo
  18. Challeng
  19. leaderbo
  20. position
  21. position
  22. PennerGa
  23. PennerGa
  24. position
  25. position
  26. mdalewsk
  27. mdalewsk
  28. position
  29. position
  30. rraptorr
  31. rraptorr
  32. position
  33. Edgemast
  34. Edgemast
  35. position
  36. position
  37. niebezpi
  38. niebezpi
  39. position
  40. position
  41. position
  42. jestemna
  43. leaderbo
  44. leaderbo
  45. leaderbo
  46. challeng
  47. expandto
  48. vertical
  49. challeng
  50. challeng
  51. challeng
  52. function
  53. document
  54. createEl
  55. javascri
  56. document
  57. getEleme
  58. ntsByTag
  59. parentNo
  60. insertBe
  61. itemprop
  62. challeng
  63. itemprop
  64. descript
  65. challeng
  66. function
  67. getEleme
  68. ntsByTag
  69. getEleme
  70. createEl
  71. facebook
  72. parentNo
  73. insertBe
  74. document
  75. facebook
  76. setAccou
  77. 26478706
  78. trackPag
  79. function
  80. document
  81. createEl
  82. javascri
  83. document
  84. location
  85. protocol
  86. analytic
  87. document
  88. getEleme
  89. ntsByTag
  90. parentNo
  91. insertBe
79992 ([0-9]{1,3}[.,: ]+){3}[0-9]{1,3} 5.6444.7.8888 fałsz
79991 ([0-9]{1,3}[.,: ]+){3}[0-9]{1,3} 5.6.7.8888 prawda
  1. 5.6.7.888
    • 7.
79990 ([0-9]{1,3}[.,: ]+){3}[0-9]{1,3} 5.6.7.888 prawda
  1. 5.6.7.888
    • 7.
79989 ([0-9]{1,3}[.,: ]+){3}[0-9]{1,3} 5.6.7. fałsz
79988 ([0-9]{1,3}[.,: ]+){3}[0-9]{1,3} 5.6.7.8.10 prawda
  1. 5.6.7.8
    • 7.
79987 ([0-9]{1,3}[.,: ]+){3}[0-9]{1,3} 5.6.7.8 prawda
  1. 5.6.7.8
    • 7.
79986 [a-zA-Z0-9_.]+@([a-zA-Z0-9\\-]+.)+[a-zA-Z]{2,4} ble.ble@blecom[[][][] prawda
  1. ble.ble@blecom
    • blec
79985 [a-zA-Z0-9_.]+@([a-zA-Z0-9\\-]+.)+[a-zA-Z]{2,4} ble.ble@blecom[ prawda
  1. ble.ble@blecom
    • blec
79984 [a-zA-Z0-9_.]+@([a-zA-Z0-9\\-]+.)+[a-zA-Z]{2,4} ble.ble@blecom prawda
  1. ble.ble@blecom
    • blec
79983 [a-zA-Z0-9_\.]+@([a-zA-Z0-9\\-]+\.)+[a-zA-Z]{2,4} ble.ble@blecom fałsz
79982 [a-zA-Z0-9_\\.]+@([a-zA-Z0-9\\-]+\\.)+[a-zA-Z]{2,4} ble.ble@blecom fałsz
79981 \[p\](.*?)\[//p\] [p]ble[/p] fałsz
79980 \[p\](*.?)\[//p\] [p]ble[/p] fałsz
79979 \[p\](*.?)\[/p\] [p]ble[/p] fałsz
79978 \[p\](.*?)\[/p\] [p]ble[/p] fałsz
79977 \[[ ]?p[ ]?\](.*?)\[[ ]?/p[ ]?\] [p]ble[/p] fałsz
79976 \[[ ]?p[ ]?\](*)\[[ ]?/p[ ]?\] [p]ble[/p] fałsz
79975 kk[ ]?k(.*?)kk[ ]?k kk k trle morele kk gk fałsz
79974 kk[ ]?k(.*?)kk[ ]?k kk k trle morele kk k prawda
  1. kk k trle morele kk k
    • trle morele

« poprzednia 1 217955 17956 17957 17958 17959 17960 17961 17962 17963 17964 1796521017 21018 następna »