Co to jest Regex w JavaScript?
Regex lub wyrażenie regularne to po prostu ciąg, który definiuje wzór i jest bardzo przydatny w znalezieniu wzoru w ciągu lub zastąpieniu ciągu dopasowanym wzorem. Mówiąc najprościej, załóżmy, że chcesz zweryfikować adres e -mail lub numer telefonu z określonym wzorem, a następnie Regex jest przydatny.
Składnia regularnego:
var myregex = /abc /;Załączamy wzór w układzie do przodu „/” jak pokazane powyżej. Możemy również użyć Regexp Konstruktor zdefiniowania wzoru od regularności:
var myRegex = new RegexP („ABC”);Teraz, gdy wiemy, czym jest Regex i jaka jest jego składnia, zobaczmy teraz, jak określić wzór za pomocą Regex w JavaScript.
Określ wzór za pomocą Regex
Aby określić wzorce za pomocą Regex, używamy Metacharacters, które są znakami, które mają szczególne znaczenie. Metacharacters i to, co reprezentują w Regex, znajduje się w poniższej tabeli:
META PHARM | Co to robi? |
[] (Nawiasy kwadratowe) | Cokolwiek piszemy w nawiasach kwadratowych, będzie dopasowane do danego ciągu. Na przykład [ABC] pasuje do a, b, I C znaki z określonym ciągiem. Możemy również określić zakres na przykład [A-F] jest taki sam jak [Alfabet] Lub [1-5] jest taki sam jak [12345]. |
^ (Symbol opieki) | Symbol Caret służy do sprawdzenia, czy określony tekst lub ciąg zaczyna się od określonego znaku, czy nie e.G. ^a Pasuje jednak do ABC ^a nie pasuje do Bac. Symbol Caret w nawiasach kwadratowych służy do przyjmowania uzupełnienia określonych znaków. Na przykład [^abc] Określa to, z wyjątkiem a, b lub c Każda obecna postać zostanie dopasowana. |
$ (Symbol dolara) | $ Symbol jest używany wszędzie tam, gdzie chcemy sprawdzić, czy ciąg kończy się na określonym znaku, czy nie. Na przykład, A $ oznacza, że jakikolwiek ciąg, z którym się dopasowujemy, powinien mieć na końcu, to znaczy amnezja będzie dopasowany do A $ Jednak serce nie. |
* (Symbol gwiazdy) | Symbol gwiazdy pasuje do 0 lub więcej wystąpień określonego wzoru lub znaku obecnego z symbolem gwiazdy w ciągu. Na przykład, Człowiek oznacza, że wyszukiwanie m i znak w ciągu. Stąd Mn będzie miał 1 mecz. Główny nie będzie miał meczu jako a N I jest I pomiędzy. |
+ (Plus symbol) | Symbol plus jest jak symbol gwiazdy z wyjątkiem, że pasuje do 1 lub więcej wystąpień określonego wzoru lub postaci. Na przykład, kiedy Mn String jest szukany wyrażenia Ma+n Nie ma jednak dopasowania, gdy wyrażenie jest przeszukiwane przez człowieka, jest jedno dopasowanie. |
(Aparat ortodontyczny) | Aby mieć jasne zrozumienie aparatów ortodontycznych, najpierw zobaczmy następujący kod i-e 2,3 co oznacza, że co najmniej 2 i co najwyżej 3 powtórzenia są możliwe z pozostawionego z niego wzoru. Na przykład wyrażenie A 2,3 Po dopasowaniu do ciągu „ABC DAT” nie będzie jednak pasował, gdy wyrażenie zostanie dopasowane do „ABC DAAT” będzie miał jeden mecz i-e daaT. |
|. (Zmiana) | Zmiana lub pionowy symbol paska jest używany dla operatora lub. Na przykład wyrażenie a | b wskazuje, że A Lub B powinien być obecny w określonym ciągu. Stąd fgh nie ma zapałek i ABC ma 2 mecze, które są Ab. |
\ (Ukośnik wsteczny) | Celem BackSlash jest ucieczka przed postaciami, a także ucieczka. Krótko mówiąc, jeśli nie masz pewności, czy postać zawiera szczególne znaczenie, czy nie, umieść backslash przed postacią. Stąd ten postać nie będzie traktowany na przykład w żaden specjalny sposób, \ $ a Wyrażenie będzie pasowało do dowolnego tekstu lub ciągu, który ma $ śledzony przez A. |
Teraz, gdy wiemy, jak określić wzorce za pomocą Regex, pozwól nam teraz przejść przez kilka metod Regex, aby dopasować Regex z określonym ciągiem.
Wzory testów do dopasowywania
Wcześniej omówiliśmy, w jaki sposób możemy użyć konstruktora RegeXP do zainicjowania obiektu RegexP z określonym wzorem. Ten obiekt RegexP daje nam wiele wbudowanych metod, a jednym z nich jest test() metoda. test() Metoda jest bardzo przydatna, ponieważ sprawdza ciąg określonego wzoru w wyrażeniu regularnym. test() Metoda zwraca wartość logiczną, to znaczy, jeśli określony wzorze. Aby lepiej zrozumieć test() Metoda zobaczmy przykład:
var myRegex = /hello /;W powyższym kodzie najpierw zdefiniowaliśmy wzór Cześć a następnie użyłem wbudowanego testu metody () w określonym wzorze, aby sprawdzić, czy ciąg ciąg Witaj świecie! zawiera Hello czy nie. Wynik podano poniżej:
Zamiast wartości logicznej dopasowanie ciągów można również zwrócić z inną wbudowaną metodą, jaką jest metoda match (). Poniższy kod wdraża metodę Match ():
var mystring = "Hello World!";Zostanie zwrócona tablica, która będzie zawierać ciąg wejściowy do metody match (), indeks, na którym można znaleźć dopasowanie, a także sam dopasowanie.
Jeśli nie znaleziono meczu, wtedy zero będzie zwrócony:
var mystring = "Hello World!";Flagi wzoru
Widzieliśmy, że obiekt RegexP akceptuje wzór; Należy jednak zauważyć, że RegexP może również przyjąć opcjonalny parametr flagi. Flagi to tylko dodatkowe dodatki, które zmieniają zachowanie wyszukiwania.
Pierwsza flaga, którą omówimy, to Zignoruj flagę oznaczone przez ja. Domyślnie wyszukiwanie wzoru w Regex jest wrażliwe na literę, więc aby ignorować przypadki. Na przykład:
var myRegex = /hello /i;Chociaż wzór ma Witam A ciąg w metodzie testowej ma pierwszą kapitał liter, jest to nadal dopasowanie, ponieważ użyliśmy flagi Ignoratu (i), dlatego wynik będzie prawdą:
Aby użyć flagi Ignoruj z obiektem RegexP, skopiuj następujący kod:
var myRegex = new RegexP („hello”, „i”);Podobnie możemy użyć globalna flaga oznaczone przez G, którego funkcją jest zwrócenie wszystkich dopasowań w ciągu. Bez globalnej flagi, tylko pierwszy mecz jest zwracany. Poniższy kod używa flagi globalnej:
var mystring = 'Hello World! I Hello Universe!';;Najpierw zainicjowaliśmy MyString, który zawiera ciąg, który zostanie użyty do przeszukiwania wzoru, a następnie stworzyliśmy wzór wyrażenia regularnego zawierającego flagę globalną i ignoruj flagę. Globalna flaga będzie poszukiwać wszystkich meczów, podczas gdy flaga Ignoruje wrażliwość na przypadki. W powyższym kodzie używana jest kolejna wbudowana metoda, jaka jest exec (), której funkcją jest zwrócenie tablicy zawierającej dopasowanie. Jeśli jednak nie było dopasowania między wzorem a ciągiem, wówczas zerowa zostanie zwrócona. Należy zauważyć, że metoda exec () zwraca tylko pojedynczy dopasowanie jednocześnie, dlatego używamy pętli zrób i przesuwamy wszystkie mecze do tablicy meczów. W końcu pocieszamy tablicę dopasowań, która zawiera wszystkie mecze:
Wniosek
Regex to ciąg, który definiuje wzór lub znajduje wzór w określonym ciągu. Używamy obiektu RegexP lub do przodu / do definiowania Regex. RegexP przyjmuje również opcjonalną flagę parametru I-E, która zmienia zachowanie wyszukiwania. Aby określić wzorce, używamy metacharakterów, które są niektórymi konkretnymi postaciami o specjalnych znaczeniach. Aby sprawdzić, czy pasuje on do ciągu, czy nie, używamy wbudowanych metod, takich jak test (), match () lub exec ().
W tym poście po pierwsze zdefiniowaliśmy, co jest Regex w JavaScript i co to jest składnia Regex w JavaScript. Następnie pokazaliśmy, jak określić wzorce za pomocą wzorców Regex i Test w JavaScript. Ostatecznie omówiliśmy dwie flagi, które są globalne i ignorują flagi.