mozilla

Praca z wyrażeniami regularnymi

UWAGA: Tłumaczenie tej strony nie zostało zakończone.
Może być ona niekompletna lub wymagać korekty.
Chcesz pomóc? | Dokończ tłumaczenie | Sprawdź ortografię | Więcej takich stron+.

Praca z wyrażeniami regularnymi

Wyrażenia regularne są użyte z metodą RegExp test i exec i z dobraną metodą String, replace, search, i split. Metoda ta jest w szczegółach wytłumaczona w Dokumentacja języka JavaScript 1.5.

Metody Opis
exec Metoda RegExp, która wykonuje szukanie dla wskazaniej wartości w łańcuchu znaków. Zwraca tablice informacji.
test Metoda RegExp, która testuje odpowiednik w string. Zwraca warunek prawdziwy lub nieprawdziwy.
match Metoda String, która wykonuje przeszukanie dla podobnych znaków. Zwraca tablicę z informacjami lub null jak informacje nie będą dopasowane.
search Metoda String, która testuje dla odpowiedniego łańcucha. To zwraca odpowiedni index lub -1 gdy wartość przeszukiwania jest fałszywa.
replace Metoda String, która wykonuje przeszukanie odpowiedniej wartości w łańcuchu, i zamienia ciąg znaków z odpowiednim ciągiem.
split Metoda String, którą jest używa wyrażeń regularnych lub fałszywych języków do złamania łańcucha aż do tablicy podciągów.

Tabela: Metody, które używają wyrażeń regularnych

When you want to know whether a pattern is found in a string, use the test or search method; for more information (but slower execution) use the exec or match methods. If you use exec or match and if the match succeeds, these methods return an array and update properties of the associated regular expression object and also of the predefined regular expression object, RegExp. If the match fails, the exec method returns null (which converts to false).

W poniższym przykładzie skrypt użyje metody exec do znalezienia pola w konkretnym znaku/znakach?.

<SCRIPT LANGUAGE="JavaScript1.2">
myRe=/d(b+)d/g;
myArray = myRe.exec("cdbbdbsbz");
</SCRIPT>

Jeśli nie potrzebujesz dostepu do właściwości wyrażenia regularnego, alternatywna ścieżką jest utworzenie myArray z tym skryptem:

<SCRIPT LANGUAGE="JavaScript1.2">
myArray = /d(b+)d/g.exec("cdbbdbsbz");
</SCRIPT>

Jeśli chcesz utworzyć wyrażenie regularne ze znaku, i tu mamy kolejną alternatywę w postaci skryptu:

<SCRIPT LANGUAGE="JavaScript1.2">
myRe= new RegExp ("d(b+)d", "g");
myArray = myRe.exec("cdbbdbsbz");
</SCRIPT>

With these scripts, the match succeeds and returns the array and updates the properties shown in the following table.

Obiekt Właściwości lub index Opis W tym przykładzie
myArray   The matched string and all remembered substrings. ["dbbd", "bb"]
  index The 0-based index of the match in the input string. 1
  input The original string. "cdbbdbsbz"
  [0] The last matched characters. "dbbd"
myRe lastIndex The index at which to start the next match. (This property is set only if the regular expression uses the g option, described in Executing a Global Search, Ignoring Case, and Considering Multiline Input.) 5
  source The text of the pattern.Updated at the time that the regular expression is created, not executed. "d(b+)d"

Tabela: Rezultaty wykonania wyrażenia regularnego.

As shown in the second form of this example, you can use the a regular expression created with an object initializer without assigning it to a variable. If you do, however, every occurrence is a new regular expression. For this reason, if you use this form without assigning it to a variable, you cannot subsequently access the properties of that regular expression. Na przykład, assume you have this script:

<SCRIPT LANGUAGE="JavaScript1.2">
myRe=/d(b+)d/g;
myArray = myRe.exec("cdbbdbsbz");
document.writeln("The value of lastIndex is " + myRe.lastIndex);
</SCRIPT>

Ten skrypt wyświetla:

The value of lastIndex is 5

However, if you have this script:

<SCRIPT LANGUAGE="JavaScript1.2">
myArray = /d(b+)d/g.exec("cdbbdbsbz");
document.writeln("The value of lastIndex is " + /d(b+)d/g.lastIndex);
</SCRIPT>

To wyświetla:

The value of lastIndex is 0

The occurrences of /d(b+)d/g in the two statements are different regular expression objects and hence have different values for their lastIndex property. If you need to access the properties of a regular expression created with an object initializer, you should first assign it to a variable.

Autorzy i etykiety dokumentu

Contributors to this page: teoli, Ptak82, Mgjbot
Ostatnia aktualizacja: teoli,