Wyrażenia regularne JavaScript
Wyrażenie regularne to sekwencja znaków tworząca wzorzec wyszukiwania.
Wzorzec wyszukiwania może być używany do operacji wyszukiwania tekstu i zamiany tekstu.
Co to jest wyrażenie regularne?
Wyrażenie regularne to sekwencja znaków tworząca wzorzec wyszukiwania .
Podczas wyszukiwania danych w tekście możesz użyć tego wzorca wyszukiwania do opisania tego, czego szukasz.
Wyrażenie regularne może być pojedynczym znakiem lub bardziej skomplikowanym wzorcem.
Wyrażenia regularne mogą służyć do wykonywania wszystkich typów operacji wyszukiwania tekstu i zamiany tekstu .
Składnia
/pattern/modifiers;
Przykład
/w3schools/i;
Wyjaśnienie przykładu:
/w3schools/i to wyrażenie regularne.
w3schools to wzorzec (do wykorzystania w wyszukiwaniu).
i jest modyfikatorem (modyfikuje wyszukiwanie tak, aby nie uwzględniało wielkości liter).
Korzystanie z metod ciągów
W JavaScript wyrażenia regularne są często używane z dwiema metodami łańcuchowymi : search()
i replace()
.
Metoda search()
używa wyrażenia do wyszukania dopasowania i zwraca pozycję dopasowania.
Metoda replace()
zwraca zmodyfikowany ciąg, w którym wzorzec jest zastępowany.
Korzystanie z wyszukiwania ciągów() z ciągiem
Metoda search()
przeszukuje ciąg znaków dla określonej wartości i zwraca pozycję dopasowania:
Przykład
Użyj ciągu, aby wyszukać „W3schools” w ciągu:
let text = "Visit W3Schools!";
let n = text.search("W3Schools");
Wynik w n będzie następujący:
6
Używanie wyszukiwania ciągów() z wyrażeniem regularnym
Przykład
Użyj wyrażenia regularnego, aby wyszukać „w3schools” w ciągu bez rozróżniania wielkości liter:
let text = "Visit W3Schools";
let n = text.search(/w3schools/i);
Wynik w n będzie następujący:
6
Używanie String zamień() na String
Metoda replace()
zastępuje określoną wartość inną wartością w ciągu:
let text = "Visit Microsoft!";
let result = text.replace("Microsoft", "W3Schools");
Użyj wyrażenia String replace() z wyrażeniem regularnym
Przykład
Użyj wyrażenia regularnego bez rozróżniania wielkości liter, aby zastąpić Microsoft W3Schools w ciągu:
let text = "Visit Microsoft!";
let result = text.replace(/microsoft/i, "W3Schools");
Wynikiem w res będzie:
Visit W3Schools!
Czy zauważyłeś?
W powyższych metodach można używać argumentów wyrażeń regularnych (zamiast argumentów łańcuchowych).
Wyrażenia regularne mogą znacznie zwiększyć możliwości wyszukiwania (na przykład bez uwzględniania wielkości liter).
Modyfikatory wyrażeń regularnych
Modyfikatorów można używać do przeprowadzania bardziej globalnych wyszukiwań bez uwzględniania wielkości liter:
Modifier | Description | Try it |
---|---|---|
i | Perform case-insensitive matching | |
g | Perform a global match (find all matches rather than stopping after the first match) | |
m | Perform multiline matching |
Wzorce wyrażeń regularnych
Nawiasy służą do znajdowania zakresu znaków:
Expression | Description | Try it |
---|---|---|
[abc] | Find any of the characters between the brackets | |
[0-9] | Find any of the digits between the brackets | |
(x|y) | Find any of the alternatives separated with | |
Metaznaki to znaki o specjalnym znaczeniu:
Metacharacter | Description | Try it |
---|---|---|
\d | Find a digit | |
\s | Find a whitespace character | |
\b | Find a match at the beginning of a word like this: \bWORD, or at the end of a word like this: WORD\b |
|
\uxxxx | Find the Unicode character specified by the hexadecimal number xxxx |
Kwantyfikatory definiują ilości:
Quantifier | Description | Try it |
---|---|---|
n+ | Matches any string that contains at least one n | |
n* | Matches any string that contains zero or more occurrences of n | |
n? | Matches any string that contains zero or one occurrences of n |
Korzystanie z obiektu RegExp
W JavaScript obiekt RegExp jest obiektem wyrażenia regularnego z predefiniowanymi właściwościami i metodami.
Korzystanie z testu()
Metoda test()
jest metodą wyrażenia RegExp.
Przeszukuje ciąg w poszukiwaniu wzorca i zwraca prawdę lub fałsz, w zależności od wyniku.
Poniższy przykład przeszukuje ciąg znaków dla znaku „e”:
Przykład
const pattern = /e/;
pattern.test("The best things in life are free!");
Ponieważ w łańcuchu występuje „e”, wynikiem powyższego kodu będzie:
true
Nie musisz najpierw umieszczać wyrażenia regularnego w zmiennej. Dwie powyższe linie można skrócić do jednej:
/e/.test("The best things in life are free!");
Korzystanie z funkcji exec()
Metoda exec()
jest metodą wyrażenia RegExp.
Przeszukuje ciąg dla określonego wzorca i zwraca znaleziony tekst jako obiekt.
Jeśli nie zostanie znalezione żadne dopasowanie, zwraca pusty (null) obiekt.
Poniższy przykład przeszukuje ciąg znaków dla znaku „e”:
Przykład
/e/.exec("The best things in life are free!");
Pełne odniesienie do RegExp
Aby uzyskać pełne informacje, przejdź do naszej Kompletnej dokumentacji RegExp JavaScript .
Odwołanie zawiera opisy i przykłady wszystkich właściwości i metod RegExp.