Podręcznik referencyjny JavaScript RegExp
- Poprzednia strona JS Promise
- Następna strona JS Set
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;
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. |
- Poprzednia strona JS Promise
- Następna strona JS Set