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 |
|
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) |
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 lastIndex.
Na przyk艂ad:
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
- Regular Expressions chapter in the JavaScript Guide
RegExp