diff options
Diffstat (limited to 'files/pl/web/javascript/referencje/obiekty/regexp/exec/index.html')
-rw-r--r-- | files/pl/web/javascript/referencje/obiekty/regexp/exec/index.html | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/files/pl/web/javascript/referencje/obiekty/regexp/exec/index.html b/files/pl/web/javascript/referencje/obiekty/regexp/exec/index.html new file mode 100644 index 0000000000..618ec13d69 --- /dev/null +++ b/files/pl/web/javascript/referencje/obiekty/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> |