diff options
Diffstat (limited to 'files/pl/web/javascript/reference/global_objects/regexp')
9 files changed, 826 insertions, 0 deletions
diff --git a/files/pl/web/javascript/reference/global_objects/regexp/exec/index.html b/files/pl/web/javascript/reference/global_objects/regexp/exec/index.html new file mode 100644 index 0000000000..618ec13d69 --- /dev/null +++ b/files/pl/web/javascript/reference/global_objects/regexp/exec/index.html @@ -0,0 +1,144 @@ +--- +title: RegExp.prototype.exec() +slug: Web/JavaScript/Referencje/Obiekty/RegExp/exec +tags: + - JavaScript + - Method + - Prototype + - RegExp +translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/exec +--- +<p>{{ JSRef }}</p> + +<h2 id="Podsumowanie" name="Podsumowanie">Podsumowanie</h2> + +<p>Wykonuje operacje wyszukiwania danego łańcucha znaków. Wynikiem jest macierz.</p> + +<h2 id="Sk.C5.82adnia" name="Sk.C5.82adnia">Składnia</h2> + +<pre class="syntaxbox"><code><var>regexObj</var>.exec(<var>str</var>)</code></pre> + +<p> </p> + +<h3 id="Parametry" name="Parametry">Parametry</h3> + +<dl> + <dt><code>str</code> </dt> + <dd>Łańcuch znaków, do którego ma być porównane wyrażenie.</dd> +</dl> + +<h2 id="Opis" name="Opis">Opis</h2> + +<p>Jak wynika z opisu składni metoda exec może być wywołana w sposób bezpośredni (za pomocą <code>regexp.exec(str)</code>) lub pośredni (za pomocą <code>regexp(str)</code>).</p> + +<p>Jeśli wynik będzie pozytywny metoda <code>exec</code> zwróci macierz oraz zaktualizuje własności obiektu. W przeciwnym wypadku zostanie zwrócone <code>null</code>.</p> + +<p>Przejrzyj poniższy przykład:</p> + +<pre class="brush: js">//Znajdź pojedyncze "d" poprzedzone przez jedno lub więcej "b", po których następuje pojedyncze "d" +//Zapamiętaj znalezione "b" oraz następujące "d" +//Ignoruj wielkość liter +var re=/d(b+)(d)/ig; +var myArray = re.exec("cdbBdbsbz"); +</pre> + +<p>Poniższa tabela pokazuje rezultaty wygenerowane przez skrypt:</p> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td class="header">Obiekt</td> + <td class="header">Właściwość/Indeks</td> + <td class="header">Opis</td> + <td class="header">Przykład</td> + </tr> + <tr> + <td rowspan="5"><code>myArray</code></td> + <td><code> </code></td> + <td>Zawartość <code>myArray</code>.</td> + <td><code>[ \"dbBd\", \"bB\", \"d\"') ]</code></td> + </tr> + <tr> + <td><code>index</code></td> + <td>Indeks wyszukania łańcucha znaków rozpoczynający się od 0.</td> + <td><code>1</code></td> + </tr> + <tr> + <td><code>input</code></td> + <td>Ciąg bazowy.</td> + <td><code>cdbBdbsbz</code></td> + </tr> + <tr> + <td><code>[0]</code></td> + <td>Ostatnie odnalezione znaki.</td> + <td><code>dbBd</code></td> + </tr> + <tr> + <td><code>[1], ...[<em>n</em> ]</code></td> + <td>Wyszukane podłańcuch w nawiasach. Liczba możliwych podłańcuch jest nieokreślona.</td> + <td><code>[1] = bB<br> + [2] = d</code></td> + </tr> + <tr> + <td rowspan="5"><code>myRe</code></td> + <td><code>lastIndex</code></td> + <td>Indeks, od którego rozpocząć nowe wyszukiwanie.</td> + <td><code>5</code></td> + </tr> + <tr> + <td><code>ignoreCase</code></td> + <td>Wskazuje czy flaga "<code>i</code>" została użyta.</td> + <td><code>true</code></td> + </tr> + <tr> + <td><code>global</code></td> + <td>Wskazuje czy flaga "<code>g</code>" została użyta do globalnego przeszukiwania.</td> + <td><code>true</code></td> + </tr> + <tr> + <td><code>multiline</code></td> + <td>Wskazuje czy flaga "<code>m</code>" została użyta do globalnego przeszukiwania.</td> + <td><code>false</code></td> + </tr> + <tr> + <td><code>source</code></td> + <td>Tekst wyszukiwanego łańcucha znaków.</td> + <td><code>d(b+)(d)</code></td> + </tr> + </tbody> +</table> + +<p>Jeżeli twoje wyrażenie regularne korzysta z flagi "g", możesz wielokrotnie używać metody exec() aby porównać je z tym samym ciągiem znaków. W takim wypadku porównywanie rozpoczyna się od elementu zdefiniowanego jako <code>lastIndex. </code>Na przykład:</p> + +<pre class="brush: js language-js"><code class="language-js"><span class="keyword token">var</span> myRe <span class="operator token">=</span> <span class="regex token">/ab*/g</span><span class="punctuation token">;</span> +<span class="keyword token">var</span> str <span class="operator token">=</span> <span class="string token">'abbcdefabh'</span><span class="punctuation token">;</span> +<span class="keyword token">var</span> myArray<span class="punctuation token">;</span> +<span class="keyword token">while</span> <span class="punctuation token">(</span><span class="punctuation token">(</span>myArray <span class="operator token">=</span> myRe<span class="punctuation token">.</span><span class="function token">exec<span class="punctuation token">(</span></span>str<span class="punctuation token">)</span><span class="punctuation token">)</span> <span class="operator token">!</span><span class="operator token">==</span> <span class="keyword token">null</span><span class="punctuation token">)</span> <span class="punctuation token">{</span> + <span class="keyword token">var</span> msg <span class="operator token">=</span> <span class="string token">'Found '</span> <span class="operator token">+</span> myArray<span class="punctuation token">[</span><span class="number token">0</span><span class="punctuation token">]</span> <span class="operator token">+</span> <span class="string token">'. '</span><span class="punctuation token">;</span> + msg <span class="operator token">+</span><span class="operator token">=</span> <span class="string token">'Next match starts at '</span> <span class="operator token">+</span> myRe<span class="punctuation token">.</span>lastIndex<span class="punctuation token">;</span> + console<span class="punctuation token">.</span><span class="function token">log<span class="punctuation token">(</span></span>msg<span class="punctuation token">)</span><span class="punctuation token">;</span> +<span class="punctuation token">}</span></code></pre> + +<p>Skrypt ten wyświetli następujący tekst:</p> + +<pre>Found abb. Next match starts at 3 +Found ab. Next match starts at 9 +</pre> + +<h2 id="Przyk.C5.82ady" name="Przyk.C5.82ady">Przykłady</h2> + +<h3 id="Przyk.C5.82ad:_Zastosowanie_exec" name="Przyk.C5.82ad:_Zastosowanie_exec">Przykład: Zastosowanie <code>exec()</code></h3> + +<p>You can also use <code>exec()</code> without creating a {{jsxref("RegExp")}} object:</p> + +<pre class="brush: js language-js"><code class="language-js"><span class="keyword token">var</span> matches <span class="operator token">=</span> <span class="regex token">/(hello \S+)/</span><span class="punctuation token">.</span><span class="function token">exec<span class="punctuation token">(</span></span><span class="string token">'This is a hello world!'</span><span class="punctuation token">)</span><span class="punctuation token">;</span> +console<span class="punctuation token">.</span><span class="function token">log<span class="punctuation token">(</span></span>matches<span class="punctuation token">[</span><span class="number token">1</span><span class="punctuation token">]</span><span class="punctuation token">)</span><span class="punctuation token">;</span></code></pre> + +<p>This will display an alert containing 'hello world!'.</p> + +<h2 id="Zobacz_także">Zobacz także</h2> + +<ul> + <li><a href="https://developer.mozilla.org/pl/docs/Web/JavaScript/Guide/Regular_Expressions">Regular Expressions</a> chapter in the <a href="https://developer.mozilla.org//pl/docs/Web/JavaScript/Guide">JavaScript Guide</a></li> + <li>{{jsxref("RegExp")}}</li> +</ul> diff --git a/files/pl/web/javascript/reference/global_objects/regexp/global/index.html b/files/pl/web/javascript/reference/global_objects/regexp/global/index.html new file mode 100644 index 0000000000..e393cbeed0 --- /dev/null +++ b/files/pl/web/javascript/reference/global_objects/regexp/global/index.html @@ -0,0 +1,35 @@ +--- +title: RexExp.prototype.global +slug: Web/JavaScript/Referencje/Obiekty/RegExp/global +tags: + - JavaScript + - Property + - Prototype + - RegExp +translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/global +--- +<div>{{JSRef("Global_Objects", "RegExp")}}</div> + +<h2 id="Podsumowanie" name="Podsumowanie">Podsumowanie</h2> + +<p>Określa czy z wyrażeniem regularnym została użyta flaga "<code>g</code>".</p> + +<div>{{js_property_attributes(0, 0, 1)}}</div> + +<h2 id="Opis" name="Opis">Opis</h2> + +<p><code>global</code> jest własnością pojedynczego obiektu wyrażenia regularnego.</p> + +<p>Wartość <code>global</code> wynosi true, jeśli użyta została flaga "<code>g</code>"; w przeciwnym przypadku będzie to wartość <code>false</code>. Flaga "<code>g</code>" wskazuje, że wyrażenie regularne powinno zostać sprawdzone w stosunku do wszystkich możliwych wyników w łańcuchu znaków.</p> + +<p>Tej własności nie można zmieniać bezpośrednio.</p> + +<h2 id="Zobacz_tak.C5.BCe" name="Zobacz_tak.C5.BCe">Zobacz także</h2> + +<ul> + <li>{{jsxref("RegExp.lastIndex")}}</li> + <li>{{jsxref("RegExp.prototype.ignoreCase")}}</li> + <li>{{jsxref("RegExp.prototype.multiline")}}</li> + <li>{{jsxref("RegExp.prototype.source")}}</li> + <li>{{jsxref("RegExp.prototype.sticky")}}</li> +</ul> diff --git a/files/pl/web/javascript/reference/global_objects/regexp/ignorecase/index.html b/files/pl/web/javascript/reference/global_objects/regexp/ignorecase/index.html new file mode 100644 index 0000000000..f847bf1221 --- /dev/null +++ b/files/pl/web/javascript/reference/global_objects/regexp/ignorecase/index.html @@ -0,0 +1,35 @@ +--- +title: RegExp.prototype.ignoreCase +slug: Web/JavaScript/Referencje/Obiekty/RegExp/ignoreCase +tags: + - JavaScript + - Property + - RegExp + - protype +translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/ignoreCase +--- +<p>{{JSRef}}</p> + +<h2 id="Podsumowanie" name="Podsumowanie">Podsumowanie</h2> + +<p>Określa czy z wyrażeniem regularnym została użyta flaga "<code>i</code>".</p> + +<div>{{js_property_attributes(0, 0, 1)}}</div> + +<h2 id="Opis" name="Opis">Opis</h2> + +<p><code>ignoreCase</code> jest własnością pojedynczego obiektu wyrażenia regularnego.</p> + +<p>Wartość <code>ignoreCase</code> wynosi <code>true</code>, jeśli użyta została flaga "<code>i</code>"; w przeciwnym przypadku będzie to wartość <code>false</code>. Flaga "<code>i</code>" wskazuje, że wielkość znaków ma być ignorowana podczas dokonywania porównań w łańcuchu znaków.</p> + +<p>Tej własności nie można zmieniać bezpośrednio.</p> + +<h2 id="Zobacz_także">Zobacz także</h2> + +<ul> + <li>{{jsxref("RegExp.lastIndex")}}</li> + <li>{{jsxref("RegExp.prototype.global")}}</li> + <li>{{jsxref("RegExp.prototype.multiline")}}</li> + <li>{{jsxref("RegExp.prototype.source")}}</li> + <li>{{jsxref("RegExp.prototype.sticky")}}</li> +</ul> diff --git a/files/pl/web/javascript/reference/global_objects/regexp/index.html b/files/pl/web/javascript/reference/global_objects/regexp/index.html new file mode 100644 index 0000000000..7fb605c26f --- /dev/null +++ b/files/pl/web/javascript/reference/global_objects/regexp/index.html @@ -0,0 +1,383 @@ +--- +title: RegExp +slug: Web/JavaScript/Referencje/Obiekty/RegExp +tags: + - Constructor + - JavaScript + - RegExp + - Regular Expressions +translation_of: Web/JavaScript/Reference/Global_Objects/RegExp +--- +<p>{{JSRef}}</p> + +<h2 id="Podsumowanie" name="Podsumowanie">Podsumowanie</h2> + +<p>Obiekt wyrażeń regularnych (ang. <em>regular expression</em>) zawiera wzór regularnego wyrażenia. Posiada ono właściwości i metody, które umożliwiają znalezienie lub zmianę ciągu znaków w innym ciągu znaków.</p> + +<p>W dodatku do właściwości pojedynczego obiektu wyrażenia regularnego, które tworzysz używając funkcji konstruktora <code>RegExp</code>, predefiniowany obiekt <code>RegExp</code> posiada własności statyczne, które są ustawione, kiedy jakiekolwiek wyrażenie regularne jest użyte.</p> + +<h2 id="Tworzony_przez" name="Tworzony_przez">Tworzony przez</h2> + +<p>Odpowiednik tekstowy lub funkcja-konstruktor <code>RegExp</code>.</p> + +<p>Odpowiednik tekstowy jest używany jak poniżej:</p> + +<pre class="brush: js"><em>/wzór/flagi</em> +</pre> + +<p>Konstruktor jest używany jak poniżej:</p> + +<pre class="brush: js">new RegExp("<em>wzór</em>"[, "<em>flagi</em>"]) +</pre> + +<h3 id="Parametry" name="Parametry">Parametry</h3> + +<dl> + <dt><code>wzór</code></dt> + <dd>Tekst wyrażenia regularnego.</dd> + <dt><code>flagi</code></dt> + <dd>Jeśli podane, flagi mogą mieć jakąkolwiek kombinację poniższych wartości: <code>g</code> - wyszukiwanie globalne, <code>i</code> - ignoruje wielkość liter, <code>m</code> - wyszukiwanie w wielu liniach.</dd> +</dl> + +<p>Zauważ, że parametry w formacie tekstowym nie używają cudzysłowu do oznaczenia ciągów znaków, kiedy parametry funkcji konstruktora używają cudzysłów. Tak, więc poniższe wyrażenia tworzą to samo wyrażenie regularne:</p> + +<pre class="brush: js">/ab+c/i; +new RegExp("ab+c", "i"); +</pre> + +<h2 id="Opis" name="Opis">Opis</h2> + +<p>Podczas użycia funkcji konstruktora, standardowe znaki ucieczki (<em>string escape rule</em>, poprzedzanie znaków specjalnych <em>backslash'’ "\" kiedy użyte w ciągu znaków) są wymagane. Na przykład poniższe dwa przykłady są identyczne:</em></p> + +<pre class="brush: js">re = new RegExp("\\w+"); +re = /\w+/; +</pre> + +<h3 id="Znaki_specjalne_w_wyra.C5.BCeniach_regularnych" name="Znaki_specjalne_w_wyra.C5.BCeniach_regularnych">Znaki specjalne w wyrażeniach regularnych</h3> + +<table class="fullwidth-table"> + <tbody> + <tr> + <td class="header">Znak</td> + <td class="header">Znaczenie</td> + </tr> + <tr> + <td><code>\</code></td> + <td> + <p>Dla znaków które zwykle są traktowane dosłownie, oznacza że następny znak jest specjalny i nie ma być interpretowany standardowo.</p> + + <p>Na przykład, <code>/b/</code> szuka znaku "b". Wstawiając backslash (<code>\</code>) przed b, to jest używając <code>/\b/</code>, znak staje się specjalny "znajdź granicę wyrazu".</p> + + <p>-lub-</p> + + <p>Dla znaków, które zwykle są traktowane jako specjalne oznacza, że następny znak jest zwykły powinien być interpretowany dosłownie.</p> + + <p>Na przykład, <code>*</code> jest znakiem specjalnym oznaczającym 0 lub więcej wystąpień poprzedzającego znaku powinno być znalezionych; na przykład, <code>/a*/</code> oznacza "znajdź 0 lub więcej znaków <code>a</code>". Aby znaleźć dosłownie <code>*</code>, poprzedź ten znak backslashem (<code>\</code>), na przykład <code>/a\*/</code> znajduje "a*".</p> + </td> + </tr> + <tr> + <td><code>^</code></td> + <td> + <p>Znajduje początek wejścia. Jeśli flaga wielu linii (ang. <em>multiline</em>) jest ustawiona na <em>prawda</em> (<code>true</code>), znajduje również od razu po znaku nowej linii.</p> + + <p>Na przykład, <code>/^B/</code> nie znajdzie "B" w "Andrzej B" ale znajdzie "B" w "Bogusław A".</p> + </td> + </tr> + <tr> + <td><code>$</code></td> + <td> + <p>Oznacza koniec wejścia. Jeśli flaga wielu linii (ang. <em>multiline</em>) jest ustawiona na <em>prawda</em> (<code>true</code>), znajduje również bezpośrednio przed znakiem końca linii.</p> + + <p>Na przykład, <code>/a$/</code> nie znajdzie "a" w "mrówkojad" ale znajdzie "a" w "mrówka".</p> + </td> + </tr> + <tr> + <td><code>*</code></td> + <td> + <p>Znajduje poprzedzającą pozycję 0 lub więcej razy.</p> + + <p>Na przykład, <code>/bu*/</code> znajdzie "buuuu" w "Duch krzyknął buuuu" i "b" w "Głośnik zabrzmiał basowo" ale nic w "Ptak zaśpiewał".</p> + </td> + </tr> + <tr> + <td><code>+</code></td> + <td> + <p>Znajduje poprzedzającą pozycję 1 lub więcej razy. Równoważne do <code>{1,}</code>.</p> + + <p>Na przykład, <code>/r+/</code> dopasuje się do "r" w "cukierek" i do wszystkich "r" w "cukierrrrrrrek".</p> + </td> + </tr> + <tr> + <td><code>?</code></td> + <td> + <p>Znajduje poprzedzającą pozycję 0 razy lub 1 raz.</p> + + <p>Na przykład <code>/o?ąt?/</code> znajdzie "oł" w "anioł" i "ąt" w "kąt".</p> + + <p>Jeśli zostanie użyte zaraz po którymś ze znaków *, +, ?, lub {}, to wymusza przejście do trybu niezachłannego (domyślne jest dopasowanie zachłanne), czyli dopasowanie następuje do najmniejszego ciągu spełniającego wyrażenie, a nie do największego.</p> + + <p>Pytajnik używany jest także w <em>lookahead assertions</em>, opisanych pod <code>(?=)</code>, <code>(?!)</code> i <code>(?:)</code> w tej tabeli.</p> + </td> + </tr> + <tr> + <td><code>.</code></td> + <td> + <p>(Kropka) znajduje jakikolwiek pojedynczy znak poza znakiem nowej linii.</p> + + <p>Na przykład, <code>/.a/</code> znajdzie "ja" i "na" w "jabłko rośnie na drzewie ale arbuz nie", ale nie znajdzie "al" i "ar".</p> + </td> + </tr> + <tr> + <td><code>(x)</code></td> + <td> + <p>Znajduje "x" i zapamiętuje to dopasowanie. Nazywa się to "nawiasy wychwytujące" (ang. <em>capturing parentheses</em>).</p> + + <p>Na przykład, <code>/(foo)/</code> znajduje i zapamiętuje "foo" w "foo bar". Znaleziony pod-ciąg (<em>substring</em>) może być ponownie wywołany elementów tablicy wynikowej <code>1, ..., n</code> jak również z predefiniowanych własności obiektu <code>RegExp</code>, <code>$1, ..., $9</code>.</p> + </td> + </tr> + <tr> + <td><code>(?:x)</code></td> + <td> + <p>Znajduje "x", ale nie pamięta dopasowania. Nazywa się to "nawiasy niewychwytujące" (ang. <em>non-capturing parentheses</em>). Znaleziony podciąg (<em>substring</em>) nie może być wywołany ponownie z elementów wynikowych tablicy <code>1, ..., n</code> ani za pomocą właściwości obiektu <code>RegExp</code>, <code>$1, ..., $9</code>.</p> + </td> + </tr> + <tr> + <td><code>x(?=y)</code></td> + <td> + <p>Znajduje "x", tylko wtedy, gdy zaraz po "x" jest "y". Na przykład, <code>/Jacek(?=Szprotka)/</code> znajdzie "Jacek" tylko, jeśli zaraz po tym jest wyraz "Szprotka". <code>/Jacek(?=Szprotka|Mróz)/</code> znajdzie "Jacek" tylko, jeśli po tym jest zaraz wyraz "Szprotka" lub "Mróz"). Jednakże, ani "Szprotka" ani "Mróz" nie jest częścią wyników.</p> + </td> + </tr> + <tr> + <td><code>x(?!y)</code></td> + <td> + <p>Znajduje "x", tylko, jeśli po "x" nie ma "y". Na przykład, <code>/\d+(?!\,)/</code> zostanie dopasowane do liczby całkowitej, tylko jeśli nie ma po niej przecinka.</p> + + <p><code>/\d+(?!\,)/.exec("3,141")</code> zostanie dopasowane tylko do 141, nie zostanie dopasowane do 3, bo wystąpił po niej przecinek.</p> + </td> + </tr> + <tr> + <td><code>x|y</code></td> + <td> + <p>Znajduje "x" lub "y".</p> + + <p>Na przykład, <code>/zielone|czerwone/</code> znajdzie "zielone" w "zielone jabłko" i "czerwone" w "czerwone jabłko".</p> + </td> + </tr> + <tr> + <td><code>{n}</code></td> + <td> + <p>Gdzie <code>n</code> jest dodatnią liczbą całkowitą. Znajduje dokładnie <code>n</code> wystąpień poprzedzającej pozycji.</p> + + <p>Na przykład, <code>/u{2}/</code> nie znajdzie "u" w "cukierek", ale znajdzie wszystkie "u" w "cuukierek" i pierwsze dwa "u" w "cuuukierek".</p> + </td> + </tr> + <tr> + <td><code>{n,}</code></td> + <td> + <p>Gdzie <code>n</code> jest dodatnią liczbą całkowitą. Znajduje, co najmniej <code>n</code> wystąpień poprzedzającej pozycji.</p> + + <p>Na przykład, <code>/u{2,}/</code> nie znajdzie "u" w "cukierek", ale znajdzie wszystkie "u" w "cuukierek" i w "cuuukierek".</p> + </td> + </tr> + <tr> + <td><code>{n,m}</code></td> + <td> + <p>Gdzie <code>n</code> i <code>m</code> są pozytywnymi liczbami całkowitymi. Wyszukuje, co najmniej <code>n</code> i co najwyżej <code>m</code> wystąpień poprzedzającego wyrażenia.</p> + + <p>Na przykład, <code>/u{1,3}/</code> nie znajdzie niczego w "ckierek", znajdzie "u" w "cukierek", znajdzie dwa "u" w "cuukierek" i pierwsze trzy "u" w "cuuuuukierek". Zauważ, że podczas wyszukiwania w "cuuuuukierek", wynik wyszukiwania to "uuu" mimo iż ciąg oryginalny zawiera więcej liter "u".</p> + </td> + </tr> + <tr> + <td><code>xyz</code></td> + <td> + <p>Zestaw znaków. Wyszukuje jakikolwiek z podanych znaków. Możesz podać przedział znaków używając myślnika.</p> + + <p>Na przykład, <code>abcd</code> oznacza tyle samo, co <code>a-d</code>. Wyrażenia te znajdą "b" w "buziak" i "d" w "kasza".</p> + </td> + </tr> + <tr> + <td><code>^xyz</code></td> + <td> + <p>Przeciwny zestaw znaków. Wyszukuje cokolwiek, co nie jest wewnątrz nawiasów. Podobnie jak powyżej można podać zakres znaków używając myślnika.</p> + + <p>Na przykład, <code>^abc</code> oznacza tyle samo, co <code>^a-c</code>. Wyrażenia te znajdą "u" w "buziak" i "k" w "kasza".</p> + </td> + </tr> + <tr> + <td><code>\\b</code></td> + <td> + <p>Wyszukuje znak backspace (nie mylić z <code>\b</code>).</p> + </td> + </tr> + <tr> + <td><code>\b</code></td> + <td> + <p>Wyszukuje granicę wyrazów (ang. <em>word boundary</em>), jak na przykład spację (nie mylić z <code>\\b</code>).</p> + + <p>Na przykład, <code>/\bn\w/</code> zaznaczy "no" w "noonday"; <code>/\wy\b/</code> zaznaczy "ly" w "possibly yesterday".</p> + </td> + </tr> + <tr> + <td><code>\B</code></td> + <td> + <p>Znajduje brak granicy niewyrazu (ang. <em>non-word boundary</em>).</p> + + <p>Na przykład, <code>/\w\Bn/</code> zaznaczy "on" w "noonday", a <code>/y\B\w/</code> zaznaczy "ye" w "possibly yesterday".</p> + </td> + </tr> + <tr> + <td><code>\cX</code></td> + <td> + <p>Gdzie <code>X</code> jest literą od A do Z. Zaznacza znak kontrolny w ciągu.</p> + + <p>Na przykład, <code>/\cM/</code> zaznaczy <code>control-M</code> w <em>string</em>u.</p> + </td> + </tr> + <tr> + <td><code>\d</code></td> + <td> + <p>Znajduje cyfrę. Odpowiednik <code>0-9</code>.</p> + + <p>Na przykład, <code>/\d/</code> lub <code>/0-9/<code> zaznaczy "2" w "B2 jest numerem pokoju". </td> </tr> </code></p> + </td> + </tr> + <tr> + <td>\D</td> + <td> + <p>Wyszukuje jakikolwiek znak nieliczbowy. Odpowiednik <code>^0-9') }}</code>.</p> + + <p>Na przykład, <code>/\D/</code> lub <code>/^0-9/</code> zaznaczy "B" w "B2 jest numerem pokoju".</p> + </td> + </tr> + <tr> + <td><code>\f</code></td> + <td> + <p>Znajduje znak wysuwu wiersza (<em>form feed</em>).</p> + </td> + </tr> + <tr> + <td><code>\n</code></td> + <td> + <p>Znajduje znak następnego wiersza (<em>line feed</em>).</p> + </td> + </tr> + <tr> + <td><code>\r</code></td> + <td> + <p>Znajduje znak powrotu karetki (<em>carriage return</em>).</p> + </td> + </tr> + <tr> + <td><code>\s</code></td> + <td> + <p>Znajduje pojedynczy biały znak (ang. <em>white space character</em>), wliczając w to spację, tabulator, znak wysuwu wiersza, znak następnego wiersza. Odpowiednik <code>\\f\\n\\r\\t\\u00A0\\u2028\\u2029</code>.</p> + + <p>Na przykład, <code>/\s\w*/</code> zaznaczy " bar" w "foo bar".</p> + </td> + </tr> + <tr> + <td><code>\S</code></td> + <td> + <p>Zaznacza jakikolwiek znak inny niż biały (ang. <em>white space</em>). Odpowiednik <code>^ \\f\\n\\r\\t\\u00A0\\u2028\\u2029</code>.</p> + + <p>Na przykład, <code>/\S/\w*</code> zaznaczy "foo" w "foo bar".</p> + </td> + </tr> + <tr> + <td><code>\t</code></td> + <td> + <p>Znajduje tabulator.</p> + </td> + </tr> + <tr> + <td><code>\v</code></td> + <td> + <p>Znajduje pionowy tabulator (ang. <em>vertical tab</em>).</p> + </td> + </tr> + <tr> + <td><code>\w</code></td> + <td> + <p>Znajduje jakikolwiek znak alfanumeryczny i znak podkreślenia <code>_</code>. Odpowiednik <code>A-Za-z0-9_</code>.</p> + + <p>Na przykład, <code>/\w/</code> zaznaczy "j" w "jabłko", "5" w "??5.28", i "3" w "3D".</p> + </td> + </tr> + <tr> + <td><code>\W</code></td> + <td> + <p>Zaznaczy jakikolwiek znak niewyrazowy. Odpowiednik <code>^A-Za-z0-9_</code>.</p> + + <p>Na przykład, <code>/\W/</code> lub <code>/^$A-Za-z0-9_/</code> znajdzie "%" w "50%".</p> + </td> + </tr> + <tr> + <td><code>\n</code></td> + <td> + <p>Gdzie <code>n</code> jest pozytywną liczbą całkowitą. Odwołanie wsteczne (ang. <em>back reference</em>) do ostatniego podciągu (<em>substring</em>) pasującego do n wyrażenia umieszczonego w nawiasie (licząc od nawiasu otwierającego "(").</p> + + <p>Na przykład, <code>/jabłko(,)\spomarańcz\1/</code> pasuje do "jabłko, pomarańcz," w "jabłko, pomarańcz, wiśnia, brzoskwinia". Dokładniejszy przykład znajduje się po tabeli.</p> + </td> + </tr> + <tr> + <td><code>\0</code></td> + <td> + <p>Wyszukuje znak NUL. Bezpośrednio po <code>\0</code> nie powinna znajdować się żadna liczba.</p> + </td> + </tr> + <tr> + <td><code>\xhh</code></td> + <td> + <p>Znajduje znak o kodzie hh (dwie cyfry szesnastkowe)</p> + </td> + </tr> + <tr> + <td><code>\uhhhh</code></td> + <td> + <p>Znajduje znak o kodzie hhhh (cztery cyfry szesnastkowe).</p> + </td> + </tr> + </tbody> +</table> + +<p>Notacja tekstowa zostaje skompilowana, kiedy wyrażenie regularne jest wykonane. Używaj notacji tekstowej wtedy, kiedy wyrażenie regularne pozostanie niezmienione. Na przykład, jeśli użyjesz notacji tekstowej do konstrukcji wyrażenia regularnego w pętli, wyrażenie to nie zostanie przekompilowane podczas każdej iteracji.</p> + +<p>Konstruktor obiektu wyrażenia regularnego, na przykład <code>new RegExp("ab+c")</code>, pozwala na kompilację podczas czasu wykonywania (ang. <em>runtime compilation</em>) wyrażenia. Używaj funkcji konstruktora, kiedy wiesz, że wzór wyrażenia regularnego będzie się zmieniać lub gdy nie znasz tego wzoru i pobierasz go z innego źródła, jak na przykład wejście użytkownika.</p> + +<p>Oddzielny predefiniowany obiekt <code>RegExp</code> jest dostępny dla każdego okna, to jest każdy oddzielny wątek uruchomienia JavaScriptu dostaje jego własny obiekt <code>RegExp</code>. Jako że każdy skrypt uruchamiany jest cały w oddzielnym wątku, zapewnia to, iż oddzielne skrypty nie nadpisują wartości obiektu <code>RegExp</code>.</p> + +<h2 id="W.C5.82asno.C5.9Bci" name="W.C5.82asno.C5.9Bci">Własności</h2> + +<dl> + <dt>{{jsxref("RegExp.prototype")}}</dt> + <dd>Pozwala na dodanie własności wszystkim obiektom.</dd> + <dt><code>RegExp.length</code></dt> + <dd>Wartość parametru <code>RegExp.length</code> wynosi 2.</dd> + <dt>{{jsxref("RegExp.lastIndex")}}</dt> + <dd>Indeks, od którego rozpoczynać następne szukanie.</dd> +</dl> + +<h2 id="Metody" name="Metody">Metody</h2> + +<p>Globalny objekt <code>RegExp</code> nie posiada własnych metod, jednam może dziedziczyć metody z innych obiektów.</p> + +<h2 id="Przyk.C5.82ady" name="Przyk.C5.82ady">Przykłady</h2> + +<h3 id="Przyk.C5.82ad:_Zastosowanie_metody_replace" name="Przyk.C5.82ad:_Zastosowanie_metody_replace">Przykład: Zastosowanie metody <code>replace</code></h3> + +<p>Poniższy przykład używa metodę <code>replace</code> do zamiany wyrazów w ciągu (<em>stringu</em>). Podczas zamiany tekstu, skrypt używa "<code>$1</code>" i "<code>$2</code>" do oznaczenia wyników odpowiadających im nawiasów we wzorze wyrażenia regularnego.</p> + +<pre class="brush: js">var re = /(\w+)\s(\w+)/; +var str = "Jan Kowalski"; +var newstr = str.replace(re, "$2, $1"); +document.write(newstr); +</pre> + +<p>Wyświetli "Kowalski, Jan".</p> + +<h2 id="Zobacz_tak.C5.BCe" name="Zobacz_tak.C5.BCe">Zobacz także</h2> + +<ul> + <li>Rozdział w <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide">JavaScript Guide</a> o <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions">Regular Expressions</a></li> + <li>{{jsxref("String.prototype.match()")}}</li> +</ul> diff --git a/files/pl/web/javascript/reference/global_objects/regexp/lastmatch/index.html b/files/pl/web/javascript/reference/global_objects/regexp/lastmatch/index.html new file mode 100644 index 0000000000..4d229d5d81 --- /dev/null +++ b/files/pl/web/javascript/reference/global_objects/regexp/lastmatch/index.html @@ -0,0 +1,54 @@ +--- +title: RegExp.lastMatch ($&) +slug: Web/JavaScript/Referencje/Obiekty/RegExp/lastMatch +translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/lastMatch +--- +<div>{{JSRef}} {{non-standard_header}}</div> + +<p>Niestandardowa właściwość <strong>lastMatch</strong> jest właściwością statyczną, tylko do odczytu wyrażeń regularnych, który zawiera ostatnie dopasowane znaki. <code>RegExp.$&</code> jest aliasem tej właściwości.</p> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox"><var>RegExp</var>.lastMatch +RegExp['$&'] +</pre> + +<h2 id="Description">Description</h2> + +<p>The <code>lastMatch</code> property is static, it is not a property of an individual regular expression object. Instead, you always use it as <code>RegExp.lastMatch</code> or <code>RegExp['$&'].</code></p> + +<p>The value of the <code>lastMatch</code> property is read-only and modified whenever a successful match is made.</p> + +<p>You can not use the shorthand alias with the dot property accessor (<code>RegExp.$&</code>), because the parser expects an expression with "&" in that case and a {{jsxref("SyntaxError")}} is thrown. Use the <a href="/en-US/docs/Web/JavaScript/Reference/Operators/Property_Accessors">bracket notation for property access</a>.</p> + +<h2 id="Examples">Examples</h2> + +<h3 id="Using_lastMatch_and">Using <code>lastMatch</code> and <code>$&</code></h3> + +<pre class="brush: js">var re = /hi/g; +re.test('hi there!'); +RegExp.lastMatch; // "hi" +RegExp['$&']; // "hi" +</pre> + +<h2 id="Specifications">Specifications</h2> + +<p>Niestandardowe. Nie jest częścią aktualnej specyfikacji.</p> + +<h2 id="Browser_compatibility">Browser compatibility</h2> + +<div> + + +<p>{{Compat("javascript.builtins.RegExp.lastMatch")}}</p> +</div> + +<h2 id="See_also">See also</h2> + +<ul> + <li>{{non-standard_inline}} {{jsxref("RegExp.input", "RegExp.input ($_)")}}</li> + <li>{{non-standard_inline}} {{jsxref("RegExp.lastParen", "RegExp.lastParen ($+)")}}</li> + <li>{{non-standard_inline}} {{jsxref("RegExp.leftContext", "RegExp.leftContext ($`)")}}</li> + <li>{{non-standard_inline}} {{jsxref("RegExp.rightContext", "RegExp.rightContext ($')")}}</li> + <li>{{non-standard_inline}} {{jsxref("RegExp.n", "RegExp.$1-$9")}}</li> +</ul> diff --git a/files/pl/web/javascript/reference/global_objects/regexp/source/index.html b/files/pl/web/javascript/reference/global_objects/regexp/source/index.html new file mode 100644 index 0000000000..78cf4c2a64 --- /dev/null +++ b/files/pl/web/javascript/reference/global_objects/regexp/source/index.html @@ -0,0 +1,29 @@ +--- +title: RegExp.prototype.source +slug: Web/JavaScript/Referencje/Obiekty/RegExp/source +tags: + - JavaScript + - Property + - Prototype + - RegExp +translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/source +--- +<p>{{JSRef}}</p> + +<h2 id="Podsumowanie" name="Podsumowanie">Podsumowanie</h2> + +<p>Własność tylko do odczytu stanowiąca wzór tekstu, wykluczając przesyłanie slashy.</p> + +<div>{{js_property_attributes(0, 0, 1)}}</div> + +<h2 id="Opis" name="Opis">Opis</h2> + +<p><code>source</code> jest własnością indywidualnej instancji wyrażenia regularnego obiektu.</p> + +<p>Nie możesz zmienić tej własności bezpośrednio.</p> + +<h2 id="Zobacz_także">Zobacz także</h2> + +<ul> + <li>{{jsxref("RegExp.prototype.flags")}}</li> +</ul> diff --git a/files/pl/web/javascript/reference/global_objects/regexp/test/index.html b/files/pl/web/javascript/reference/global_objects/regexp/test/index.html new file mode 100644 index 0000000000..e654bfb236 --- /dev/null +++ b/files/pl/web/javascript/reference/global_objects/regexp/test/index.html @@ -0,0 +1,53 @@ +--- +title: RegExp.prototype.test() +slug: Web/JavaScript/Referencje/Obiekty/RegExp/test +tags: + - JavaScript + - Method + - Prototype + - RegExp +translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/test +--- +<p>{{JSRef}}</p> + +<h2 id="Podsumowanie" name="Podsumowanie">Podsumowanie</h2> + +<p>Wykonuje poszukiwanie łańcucha znaków pomiędzy wyrażeniem regularnym i określonym wzorcem. Zwraca <code>true</code> lub <code>false</code>.</p> + +<h2 id="Sk.C5.82adnia" name="Sk.C5.82adnia">Składnia</h2> + +<pre class="syntaxbox"><code><var>regexObj</var>.test(<var>str</var>)</code></pre> + +<h3 id="Parametry" name="Parametry">Parametry</h3> + +<dl> + <dt><code>str</code> </dt> + <dd>Łańcuch znaków w zależności od tego, czym jest wyrażenie regularne.</dd> +</dl> + +<h2 id="Opis" name="Opis">Opis</h2> + +<p>Jeśli chcesz wiedzieć, czy wzorzec został znaleziony w łańcuchu znaków zastosuj metodę <code>test</code> (podobną do metody {{jsxref("String.prototype.search()")}}); aby uzyskać więcej informacji (lecz powolniej wykonywana) zastosuj metodę {{jsxref("RegExp.prototype.exec()", "exec()")}}(podobną do metody {{jsxref("String.prototype.match()")}} ).</p> + +<h2 id="Przyk.C5.82ady" name="Przyk.C5.82ady">Przykłady</h2> + +<h3 id="Przyk.C5.82ad:_Zastosowanie_test" name="Przyk.C5.82ad:_Zastosowanie_test">Przykład: Zastosowanie <code>test()</code></h3> + +<p>Poniższy funkcja wypisuje wiadomość, której tekst zależy od powodzenia testu:</p> + +<pre class="brush: js">function testinput(re, str){ + if (re.test(str)) { + midstring = " zawiera "; + } else { + midstring = " nie zawiera "; + } + console.log(str + midstring + re.source); +} +</pre> + +<h2 id="Zobacz_także">Zobacz także</h2> + +<ul> + <li><a href="https://developer.mozilla.org/pl/docs/Web/JavaScript/Guide/Regular_Expressions">Regular Expressions</a> chapter in the <a href="https://developer.mozilla.org/pl/docs/Web/JavaScript/Guide">JavaScript Guide</a></li> + <li>{{jsxref("RegExp")}}</li> +</ul> diff --git a/files/pl/web/javascript/reference/global_objects/regexp/tosource/index.html b/files/pl/web/javascript/reference/global_objects/regexp/tosource/index.html new file mode 100644 index 0000000000..4ac074392b --- /dev/null +++ b/files/pl/web/javascript/reference/global_objects/regexp/tosource/index.html @@ -0,0 +1,47 @@ +--- +title: RegExp.prototype.toSource() +slug: Web/JavaScript/Referencje/Obiekty/RegExp/toSource +tags: + - JavaScript + - Method + - Prototype + - RegExp +translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/toSource +--- +<p>{{JSRef}}{{Non-standard_header}}</p> + +<h2 id="Podsumowanie" name="Podsumowanie">Podsumowanie</h2> + +<p>Zwraca łańcuch znaków reprezentujący kod źródłowy obiektu.</p> + +<h2 id="Sk.C5.82adnia" name="Sk.C5.82adnia">Składnia</h2> + +<pre class="syntaxbox"><code><var>regexObj</var>.toSource() +</code></pre> + +<h3 id="Parametry" name="Parametry">Parametry</h3> + +<p>Brak.</p> + +<h2 id="Opis" name="Opis">Opis</h2> + +<p>Metoda <code>toSource()</code> zwraca następujące wartości:</p> + +<ul> + <li>Dla wbudowanego obiektu {{jsxref("RegExp")}}, <code>toSource()</code> zwraca następujący łańcuch znaków sygnalizujący, który kod źródłowy nie jest dostępny: + + <pre class="brush: js">function RegExp() { + [native code] +} +</pre> + </li> + <li>Dla instancji {{jsxref("RegExp")}}, <code>toSource()</code> zwraca łańcuch znaków reprezentujący kod źródłowy.</li> +</ul> + +<p>Ta metoda jest często nazywana wewnętrzną metodą JavaScriptu i nie jest widoczna w kodzie.</p> + +<h2 id="Zobacz_tak.C5.BCe" name="Zobacz_tak.C5.BCe">Zobacz także</h2> + +<ul> + <li>{{jsxref("Object.prototype.toSource()")}}</li> +</ul> diff --git a/files/pl/web/javascript/reference/global_objects/regexp/tostring/index.html b/files/pl/web/javascript/reference/global_objects/regexp/tostring/index.html new file mode 100644 index 0000000000..fb78233ff2 --- /dev/null +++ b/files/pl/web/javascript/reference/global_objects/regexp/tostring/index.html @@ -0,0 +1,46 @@ +--- +title: RegExp.prototype.toString() +slug: Web/JavaScript/Referencje/Obiekty/RegExp/toString +tags: + - JavaScript + - Method + - Prototype + - RegExp +translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/toString +--- +<p>{{JSRef}}</p> + +<h2 id="Podsumowanie" name="Podsumowanie">Podsumowanie</h2> + +<p>Zwraca łańcuch znaków reprezentujący określony obiekt.</p> + +<h2 id="Sk.C5.82adnia" name="Sk.C5.82adnia">Składnia</h2> + +<pre class="syntaxbox"><code><var>regexObj</var>.toString();</code></pre> + +<h3 id="Parametry" name="Parametry">Parametry</h3> + +<p>Brak.</p> + +<h2 id="Opis" name="Opis">Opis</h2> + +<p>Obiekt {{jsxref("RegExp")}} przypisuje <code>toString()</code> metodzie obiektu {{jsxref("Object")}}; nie dziedziczy {{jsxref("Object.prototype.toString()")}}. Dla obiektu {{jsxref("RegExp")}}, metoda <code>toString()</code> zwraca łańcuch znaków reprezentujący obiekt.</p> + +<h2 id="Przyk.C5.82ady" name="Przyk.C5.82ady">Przykłady</h2> + +<h3 id="Przyk.C5.82ad:_Zastosowanie_toString" name="Przyk.C5.82ad:_Zastosowanie_toString">Przykład: Zastosowanie <code>toString()</code></h3> + +<p>Następujący przykład wyświetla wartość łańcucha znaków obiektu <code>RegExp</code>:</p> + +<pre class="brush: js"><code class="language-js"><span class="token keyword">var</span> myExp <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">RegExp</span><span class="token punctuation">(</span><span class="token string">'a+b+c'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> +console<span class="token punctuation">.</span><span class="token function">log<span class="token punctuation">(</span></span>myExp<span class="token punctuation">.</span><span class="token function">toString<span class="token punctuation">(</span></span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment"> // </span></code><code class="language-js"><span class="token comment">wyświetli</span></code><code class="language-js"><span class="token comment"> '/a+b+c/' +</span> +<span class="token keyword">var</span> foo <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">RegExp</span><span class="token punctuation">(</span><span class="token string">'bar'</span><span class="token punctuation">,</span> <span class="token string">'g'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> +console<span class="token punctuation">.</span><span class="token function">log<span class="token punctuation">(</span></span>foo<span class="token punctuation">.</span><span class="token function">toString<span class="token punctuation">(</span></span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment"> // </span></code><code class="language-js"><span class="token comment">wyświetli</span></code><code class="language-js"><span class="token comment"> '/bar/g'</span></code> +</pre> + +<h2 id="Zobacz_tak.C5.BCe" name="Zobacz_tak.C5.BCe">Zobacz także</h2> + +<ul> + <li>{{jsxref("Object.prototype.toString()")}}</li> +</ul> |