Wyrażenia regularne w JavaScript

Wyrażenia regularne są sekwencją znaków, które tworzą wzorzec wyszukiwania.

Ten wzorzec wyszukiwania można używać do operacji wyszukiwania tekstu i zastępowania tekstu.

Co to jest wyrażenie regularne?

Wyrażenia regularne są elementamiwzorzec wyszukiwania (search pattern)sekwencji znaków.

Kiedy wyszukujesz danych w tekście, możesz użyć wzorca wyszukiwania, aby opisać to, czego szukasz.

Wyrażenia regularne mogą być pojedynczym znakiem, lub bardziej złożonym wzorcem.

Wyrażenia regularne mogą być używane do wykonywania wszystkich rodzajówwyszukiwanie tekstuizamiana tekstuoperacje.

gramatyka

/wzorzec/modyfikatory;

Przykład

var patt = /codew3c/i;

Przykład wyjaśnienia:

/codew3c/i jest wyrażeniem regularnym.

codew3c jest wzorcem (pattern) (używanym w wyszukiwaniu).

Modyfikator jest modyfikatorem (zmienia wyszukiwanie na wrażliwe na wielkość liter).

Użyj metody łańcucha

W JavaScript, wyrażenia regularne są często używane w dwóchMetody łańcucha:search() i Używaj metody string replace() do przetwarzania ciągu znaków.

search() Metoda używa wyrażenia do wyszukiwania dopasowań i zwraca pozycję dopasowania.

Używaj metody string replace() do przetwarzania ciągu znaków Metoda zwraca poprawiony ciąg po zamianie wzorca.

Użyj metody search() łańcucha do przetwarzania łańcucha:

search() Metoda akceptuje również ciąg jako parametr wyszukiwania. Parametr ciągowy zostanie przekształcony na wyrażenie regularne:

Przykład

Wykonaj wyszukiwanie w łańcuchu "W3school" za pomocą łańcucha:

var str = "Odwiedź CodeW3C.com!";
var n = str.search("W3School"); 

Spróbuj sam

Użyj wyrażenia regularnego w metodzie search() łańcucha:

Przykład

Wykonaj wyszukiwanie wrażliwe na wielkość liter łańcucha "codew3c" za pomocą wyrażenia regularnego:

var str = "Visit CodeW3C.com";
var str = "Visit CodeW3C.com"; 

var n = str.search(/codew3c/i);

Wynik n będzie:

Spróbuj sam

6

Używaj metody string replace() do przetwarzania ciągu znaków replace()

Zastąp Microsoft w ciągu znaków za pomocą wyrażenia regularnego, który jest bezwzględny co do wielkości liter, na rzecz W3school:
Też akceptuje ciąg znaków jako parametr wyszukiwania: 

Spróbuj sam

var res = str.replace("Microsoft", "W3School");

Przykład

Używaj wyrażenia regularnego w metodzie replace() w ciągu znaków

Zastąp Microsoft w ciągu znaków za pomocą wyrażenia regularnego, który jest bezwzględny co do wielkości liter, na rzecz W3school:
var str = "Visit Microsoft!"; 

var res = str.replace(/microsoft/i, "W3School");

Wynik res będzie:

Spróbuj sam

Visit CodeW3C.com!

Czy zauważyłeś?

Parametry wyrażenia regularnego (zamiast parametrów ciągów znaków) można używać w powyższych metodach.

Wyrażenie regularne może uczynić Twoje wyszukiwanie bardziej potężnym (np. bezrozróżnianie wielkości liter).

Można go użyć do bardziej globalnego wyszukiwania bezwzględności wielkości liter:Modyfikator wyrażenia regularnego

Można go użyć do bardziej globalnego wyszukiwania bezwzględności wielkości liter: Opis Spróbuj
Modyfikator Wykonaj dopasowanie bezwzględne co do wielkości liter. Spróbuj
g Wykonaj dopasowanie globalne (wyszukaj wszystkie dopasowania zamiast zatrzymać się po pierwszym dopasowaniu). Spróbuj
m Wykonaj dopasowanie wielokrotne. Spróbuj

Wzorzec wyrażenia regularnego

NawiasyUżywane do wyszukiwania ciągów znaków w określonym zakresie:

Wyrażenie Opis Spróbuj
[abc] Znajdź dowolny znak między nawiasami kwadratowymi. Spróbuj
[0-9] Znajdź dowolną cyfrę od 0 do 9. Spróbuj
(x|y) Znajdź dowolny z opcji rozdzielonych |. Spróbuj

Znak meta (Metacharacter)To znaki o specjalnym znaczeniu:

Znak meta Opis Spróbuj
\d Znajdź cyfrę. Spróbuj
\s Znajdź znak białego tła. Spróbuj
\b Dopasuj granice słów. Spróbuj
\uxxxx Znajdź znak Unicode określony przez liczby szesnastkowe xxxx. Spróbuj

Quantifiers Zdefiniuj kwoty:

Kwoty Opis Spróbuj
n+ Dopasuj dowolny ciąg znaków zawierający co najmniej jeden n. Spróbuj
n* Dopasuj dowolny ciąg znaków zawierający zero lub więcej n. Spróbuj
n? Dopasuj dowolny ciąg znaków zawierający zero lub jeden n. Spróbuj

Używaj obiektu RegExp

W JavaScript, obiekt RegExp jest obiektem wyrażenia regularnego z predefiniowanymi atrybutami i metodami.

Używaj test()

test() to metoda wyrażenia regularnego.

On szuka stringów według wzorca, a następnie zwraca true lub false na podstawie wyników.

Poniższy przykład wyszukuje znak 'e' w łańcuchu tekstowym:

Przykład

var patt = /e/;
patt.test("The best things in life are free!"); 

Ponieważ w łańcuchu znaków znajduje się 'e', wynik powyższego kodu będzie:

true

Spróbuj sam

Nie musisz najpierw umieścić wyrażenia regularnego w zmiennej. Powyższe dwa wiersze można skrócić do jednego wiersza:

/e/.test("The best things in life are free!");

Użycie exec()

exec() Metoda to metoda wyrażenia regularnego.

Przeszukuje ciąg znaków za pomocą określonego wzorca (pattern) i zwraca znaleziony tekst.

Jeśli nie znaleziono dopasowania, zwraca null.

Poniższy przykład wyszukuje znak 'e' w łańcuchu tekstowym:

Przykład

/e/.exec("The best things in life are free!");

Ponieważ w łańcuchu znaków znajduje się 'e', wynik powyższego kodu będzie:

e

Spróbuj sam

Pełny podręcznik RegExp

Aby uzyskać pełny podręcznik, odwiedź nasz Podręcznik JavaScript RegExp.

Ten podręcznik zawiera opisy i przykłady wszystkich właściwości i metod RegExp.