Wyrażenia regularne w JavaScript
- Poprzednia strona Bitowe operacje JS
- Następna strona Priorytety operatorów JS
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");
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:
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:
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:
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
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
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.
- Poprzednia strona Bitowe operacje JS
- Następna strona Priorytety operatorów JS