Podręcznik referencyjny JavaScript RegExp

Obiekt RegExp

Wyrażenie regularne jest wzorcem znaków.

Ten wzorzec jest używany do funkcji 'wyszukiwanie i zastępowanie' dopasowania tekstu.

W JavaScriptie, obiekt RegExp jest rodzajem obiektu, który ma atrybuty i metody.

Gramatyka

/pattern/modifier(s);

Przykład

let pattern = /codew3c/i;

Spróbuj sam

Przykład wyjaśnienie:

codew3c Szukany wzorzec
/codew3c/ Wyrażenia regularne
/codew3c/i Wyrażenia regularne bez rozróżniania wielkości

Aby uzyskać informacje o wyrażeniach regularnych, przeczytaj nasz Kurs JavaScript RegExp.

Modyfikator

Modifikatory są używane do wykonywania wyszukiwań bez rozróżniania wielkości i globalnych:

Modyfikator Opis
g Wykonaj dopasowanie globalne (wyszukaj wszystkie dopasowania zamiast zatrzymać się po pierwszym dopasowaniu).
i Wykonaj dopasowanie bez rozróżniania wielkości.
d Wykonaj dopasowanie podciągu.
m Wykonaj dopasowanie wielokrotne.

Nawiasy kwadratowe

Nawiasy kwadratowe są używane do wyszukiwania znaków w zakresie:

Wyrażenie Opis
[abc] Znajdź każdy znak między nawiasami.
[^abc] Znajdź każdy znak, który nie znajduje się w nawiasach kwadratowych.
[0-9] Znajdź każdą cyfrę od 0 do 9.
[^0-9] Znajdź dowolny znak, który nie jest w nawiasach (każdy znak, który nie jest cyfrą).
(x|y) Znajdź dowolny określony element.

Znak specjalny

Znak specjalny to znak o specjalnym znaczeniu:

Znak specjalny Opis
. Znajdź pojedynczy znak, oprócz znaku nowej linii lub znaku końca wiersza.
\w Znajdź znak słów.
\W Znajdź znak, który nie jest znakiem słów.
\d Znajdź cyfrę.
\D Znajdź znak, który nie jest cyfrą.
\s Znajdź biały znak.
\S Znajdź znak, który nie jest białym znakiem.
\b Znajdź dopasowanie na początku ani końcu słowa, początek tak: \bHI, koniec tak: HI\b.
\B Znajdź dopasowanie, ale nie na początku ani końcu słowa.
\0 Znajdź znak NULL.
\n Znajdź znak nowej linii.
\f Znajdź znak przerwania strony.
\r Znajdź znak enter.
\t Znajdź tabulator.
\v Znajdź wiersz wyznaczony znakiem w.
\xxx Znajdź znak określony ósemkową liczbą xxx.
\xdd Znajdź znak określony szesnastkową liczbą dd.
\udddd Znajdź znak Unicode określony szesnastkową liczbą xxxx.

Kwoty

Kwoty Opis
n+ Dopasuj ciąg znaków, który zawiera co najmniej jeden n.
n* Dopasuj ciąg znaków, który zawiera zero lub wiele n.
n? Dopasuj ciąg znaków, który zawiera zero lub jeden n.
n{X} Dopasuj ciąg znaków, który zawiera X n.
n{X,Y} Dopasuj ciąg znaków, który zawiera od X do Y n.
n{X,} Dopasuj ciąg znaków, który zawiera co najmniej X n.
n$ Dopasuj ciąg znaków, który kończy się na n.
^n Dopasuj ciąg znaków, który zaczyna się od n.
?=n Dopasuj ciąg znaków, który kończy się na określonym ciągu znaków n.
?!n Dopasuj ciąg znaków, który nie kończy się na określonym ciągu znaków n.

Atrybuty obiektu RegExp

Atrybuty Opis
constructor Zwróć funkcję prototypu obiektu RegExp.
global Sprawdź, czy ustawiono modyfikator "g".
ignoreCase Sprawdź, czy ustawiono modyfikator "i".
lastIndex Określ indeks początkowy następnego dopasowania.
multiline Sprawdź, czy ustawiono modyfikator "m".
source Zwróć tekst wzorca RegExp.

Metody obiektu RegExp

Metoda Opis
compile() W wersji 1.5 już przestarzały. Skompiluj wyrażenie regularne.
exec() Testuj dopasowanie elementów ciągów znaków. Zwraca pierwszy dopasowany element.
test() Testuj dopasowanie elementów ciągów znaków. Zwraca prawdę lub fałsz.
toString() Zwraca string wartości wyrażenia regularnego.

Opis obiektu RegExp

Obiekt RegExp reprezentuje wyrażenie regularne, jest potężnym narzędziem do dopasowywania wzorców w stringach.

Gramatyka literalna

/pattern/attributes

Gramatyka tworzenia obiektu RegExp:

new RegExp(pattern, attributes);

Parametr

Parametr pattern jest stringiem, który określa wzorzec wyrażenia regularnego lub inny wyrażenie regularne.

Parametr attributes Jest opcjonalnym stringiem, który zawiera atrybuty "g", "i" i "m", które służą do określenia globalnego dopasowania, różnicowania wielkości liter i dopasowania wielokrotnego. Przed standaryzacją ECMAScript, atrybut m nie był obsługiwany. Jeśli pattern jest wyrażeniem regularnym, a nie stringiem, to parametr musi być pominięty.

Wartość zwracana

Nowy obiekt RegExp, który ma określony wzorzec i znaczniki. Jeśli parametr pattern jest wyrażeniem regularnym, a nie stringiem, to konstruktor RegExp() tworzy nowy obiekt RegExp z tymi samymi wzorcami i znacznikami.

Jeśli nie używa operatora new, a wywołuje RegExp() jako funkcję, zachowanie jest takie samo jak przy użyciu operatora new, tylko gdy pattern Jest wyrażeniem regularnym, zwraca tylko patterna nie tworzy nowego obiektu RegExp.

wywołuje

SyntaxError - jeśli pattern Nie jest poprawnym wyrażeniem regularnym, lub attributes Zawiera znaki inne niż "g", "i" i "m", wywołuje to wyjątkowe zachowanie.

TypeError - jeśli pattern Jest obiektem RegExp, ale nie jest pomijany attributes Parametry, które wywołują to wyjątkowe zachowanie.

Obsługa przeglądarek

/regexp/ jest cechą ECMAScript1 (ES1).

Wszystkie przeglądarki obsługują w pełni ES1 (JavaScript 1997):

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
Obsługiwane Obsługiwane Obsługiwane Obsługiwane Obsługiwane Obsługiwane

Metody obiektu String, które obsługują wyrażenia regularne

Metoda Opis
search Wyszukaj wartości, które pasują do wyrażenia regularnego.
match Znajdź jedno lub więcej dopasowań wyrażenia regularnego.
replace Zastąp podciąg, który pasuje do wyrażenia regularnego.
split Rozdziel string na tablicę stringów.