Metoda exec() obiektu RegExp w JavaScript
- poprzednia strona compile()
- Następna strona test()
- Wróć do poprzedniego poziomu Podręcznik referencyjny JavaScript RegExp
Definicja i użycie
exec()
Metoda testuje dopasowania w ciągu znaków.
Metoda ta jest ogólnym wzorcem dopasowywania.
Jeśli znaleziono dopasowanie, zwróci tablicę wyników, w przeciwnym razie zwróci null
.
Przykład
Przykład 1
Szukaj znaku "e" w ciągu znaków:
let text = "The best things in life are free"; let result = /e/.exec(text);
Przykład 2
Szukaj "Hello" i "W3School" w ciągu znaków w całości:
let text = "Hello world!"; //Znajdź "Hello" let result1 = /Hello/.exec(text); //Znajdź "W3School" let result2 = /W3School/.exec(text);
syntaktyka
regexp.exec(ustawienie atrybutu lastIndex na wskazanym przez niego znaku)
parametr
parametr | opis |
---|---|
ustawienie atrybutu lastIndex na wskazanym przez niego znaku | wymagane. Ciąg znaków do wyszukiwania. |
zwróconej wartości
typ | opis |
---|---|
tablica | Jeśli znaleziono dopasowanie, tablica zawiera tekst dopasowany, w przeciwnym razie zwraca null. |
szczegóły techniczne
zwróconej wartości
tablica, która przechowuje wyniki dopasowania. Jeśli nie znaleziono dopasowania, wartość null
Poniżej przedstawiono format zwracanej tablicy.
wyrzuca
typ | opis |
---|---|
TypeError | Gdy obiekt wywołujący metodę nie jest RegExp, rzuca wyjątek. |
wyjaśnienie
we wszystkich metodach dopasowywania wzorców RegExp i metod dopasowywania Stringexec()
jest najbardziej potężny. Jest to ogólna metoda, łatwiejsza w użyciu niż RegExp.test(),String.replace() i String.match() jest skomplikowany.
exec()
poszukiwany ciąg znaków ustawienie atrybutu lastIndex na wskazanym przez niego znakuz którego uzyskujemy tekst pasujący do wyrażenia regularnego regexp pasujący tekst. Jeśli exec()
Znaleziono pasujący tekst, zwróci on tablicę wyników. W przeciwnym razie, zwróci null
Ten element zwracanego tablicy to tekst pasujący do wyrażenia. Pierwszy element to tekst pasujący do wyrażenia. regexp 的第一个子表达式相匹配的文本(如果存在)。第 2 个元素是与 regexp pierwszy podwzorzec dopasowany tekst (jeśli istnieje). Drugi element to tekst dopasowany przez drugi podwzorzec, itd.exec()
tekst dopasowany przez drugi podwzorzec, itd. Zwykle atrybut length tablicy oznacza liczbę elementów w tablicy. Oraz poza elementami tablicy i atrybutem length, ustawienie atrybutu lastIndex na wskazanym przez niego znakuzwracają również dwa atrybuty. Atrybut index oznacza pozycję pierwszego znaku dopasowanego tekstu. Atrybut input oznacza exec()
. W wywoływaniu nieglobalnego obiektu RegExp String.match() metoda, zwracany przez nią tablica jest taki sam jak
zwracane metody są takie same. exec()
w wywoływaniu nieglobalnego regexp metoda, będzie przeprowadzać wyszukiwanie i zwracać powyższe wyniki. Jednak gdyexec()
jest wzorcem globalnym regularnym regexp zaczyna wyszukiwanie ciągu od tego znaku. zachowanie jest nieco bardziej złożone. W ustawienie atrybutu lastIndex na wskazanym przez niego znaku string regexp ustawienie atrybutu lastIndex na pozycji pierwszego znaku dopasowanego tekstu. Oznacza to, że można powtarzać wywoływanie exec()
metoda do przechodzenia przez wszystkie dopasowane teksty w ciągu. Kiedy exec() już nie znajduje dopasowanego tekstu, zwraca null
i resetuje atrybut lastIndex do 0. Jeśli po ukończeniu jednego dopasowania wzorca w innym tekście chcemy zacząć wyszukiwanie nowego tekstu, musimy ręcznie zresetować atrybut lastIndex do 0.
uwaga, niezależnie od regexp czy jest tryb globalnyexec()
dodaje pełne szczegóły do zwracanego przez nie tablicy. To exec()
i String.match() różnica, druga z nich zwraca znacznie mniej informacji w trybie globalnym. W rzeczywistości, powtarzane wywoływanie exec()
metoda jest jedynym sposobem uzyskania pełnych informacji o dopasowaniu wzorca globalnego.
obsługa przeglądarki
exec()
jest cechą ECMAScript1 (ES1).
Wszystkie przeglądarki w pełni obsługują ES1 (JavaScript 1997):
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
obsługiwane | obsługiwane | obsługiwane | obsługiwane | obsługiwane | obsługiwane |
metody wyszukiwania wyrażeń regularnych
W JavaScript, wyszukiwanie tekstu za pomocą wyrażeń regularnych można wykonać za pomocą różnych metod.
użyciewzorzec (pattern)Jako wzorce regularne, te są najbardziej używane metodami:
przykład | opis |
---|---|
text.match(wzorzec) | metoda string match() |
text.search(wzorzec) | metoda string search() |
wzorzec.exec(text) | metoda RexExp exec() |
wzorzec.test(text) | metoda RexExp test() |
- poprzednia strona compile()
- Następna strona test()
- Wróć do poprzedniego poziomu Podręcznik referencyjny JavaScript RegExp