RegExp.prototype.exec()

To tłumaczenie jest niekompletne. Pomóż przetłumaczyć ten artykuł z języka angielskiego.

Podsumowanie

Wykonuje operacje wyszukiwania danego łańcucha znaków. Wynikiem jest macierz.

Składnia

regexObj.exec(str)

Parametry

str 
Łańcuch znaków, do którego ma być porównane wyrażenie.

Opis

Jak wynika z opisu składni metoda exec może być wywołana w sposób bezpośredni (za pomocą regexp.exec(str)) lub pośredni (za pomocą regexp(str)).

Jeśli wynik będzie pozytywny metoda exec zwróci macierz oraz zaktualizuje własności obiektu. W przeciwnym wypadku zostanie zwrócone null.

Przejrzyj poniższy przykład:

//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");

Poniższa tabela pokazuje rezultaty wygenerowane przez skrypt:

Obiekt Właściwość/Indeks Opis Przykład
myArray   Zawartość myArray. [ \"dbBd\", \"bB\", \"d\"') ]
index Indeks wyszukania łańcucha znaków rozpoczynający się od 0. 1
input Ciąg bazowy. cdbBdbsbz
[0] Ostatnie odnalezione znaki. dbBd
[1], ...[ n ] Wyszukane podłańcuch w nawiasach. Liczba możliwych podłańcuch jest nieokreślona. [1] = bB
[2] = d
myRe lastIndex Indeks, od którego rozpocząć nowe wyszukiwanie. 5
ignoreCase Wskazuje czy flaga "i" została użyta. true
global Wskazuje czy flaga "g" została użyta do globalnego przeszukiwania. true
multiline Wskazuje czy flaga "m" została użyta do globalnego przeszukiwania. false
source Tekst wyszukiwanego łańcucha znaków. d(b+)(d)

If your regular expression uses the "g" flag, you can use the exec method multiple times to find successive matches in the same string. When you do so, the search starts at the substring of str specified by the regular expression's lastIndex property. For example, assume you have this script:

var myRe = /ab*/g;
var str = 'abbcdefabh';
var myArray;
while ((myArray = myRe.exec(str)) !== null) {
  var msg = 'Found ' + myArray[0] + '. ';
  msg += 'Next match starts at ' + myRe.lastIndex;
  console.log(msg);
}

Skrypt ten wyświetli następujący tekst:

Found abb. Next match starts at 3
Found ab. Next match starts at 9 

Przykłady

Przykład: Zastosowanie exec()

You can also use exec() without creating a RegExp object:

var matches = /(hello \S+)/.exec('This is a hello world!');
console.log(matches[1]);

This will display an alert containing 'hello world!'.

Zobacz także

Autorzy i etykiety dokumentu

 Autorzy tej strony: teoli, Ptak82, Mgjbot, Bedi
 Ostatnia aktualizacja: teoli,