A Wyrażenie regularne jest obiektem, w którym podawane są wzorce pasujące do żądanego ciągu.
Składnia
Składnia wyrażenia regularnego jest bardzo prosta i można ją zapisać w następujący sposób:
/wzór/flagiA wzór to ciąg, w którym podajesz wzór pasujący do innego ciągu.
Flagi są opcjonalnymi atrybutami, które służą różnorodnym celom. Na przykład flaga „g” oznacza „globalne”, między innymi.
Zakres wyrażeń regularnych jest bardzo szeroki. Pokazamy ci podstawowe, które są najbardziej niezbędne do programowania poprzez wyjaśnienie krok po kroku i niektóre rzeczywiste przykłady.
Istnieje wiele metod, w których może być konieczne użycie wyrażeń regularnych, na przykład w metodach wyszukiwania JavaScript (), zamiennik (), match () i split (). Zaczniemy od prostego wyszukiwania ciągów bez użycia wyrażenia regularnego, a później pokażemy, jak przeprowadzić to samo wyszukiwanie za pomocą wyrażeń regularnych.
Przykłady
Najpierw przypuszczamy, że ciąg:
niech str = "Linuxhint jest świetny. Linuxhint działa świetnie i wykonuje 100%."Powtórzyliśmy to samo słowo „Świetnie" I "Linuxhint”W wyrażeniu. Cel tego dziwnego sznurka stanie się oczywisty za chwilę.
W porządku! Teraz po prostu napiszemy metodę String w wyszukiwaniu JavaScript, aby wyszukać termin „praca”
str.wyszukiwanie („praca”);
Jak widać, pokazuje indeks, skąd zaczął się podana „praca”. Teraz przejdziemy dalej i spróbujemy zrobić to samo z składnią do regularności.
Krok 1: Wyszukaj i wymień podłoże
Możesz wyszukać pasujący ciąg przy użyciu wyrażenia regularnego, po prostu umieszczając podłoże między dwoma cięciami w wyrażeniu.
str.Wyszukaj (/work/);
Jak widać, dało nam to również to samo wyjście.
W porządku! Teraz zobaczymy, co możemy zrobić z wyrażeniem regularnym. Spróbujmy zastąpić słowo „Świetnie”Z, powiedzmy,„Wspaniały”Za pomocą metody zastępczej ().
str.Wymień („świetny”, „Awesome”);
Tutaj możesz zobaczyć problem: pierwsze wystąpienie „Świetnie”Został zastąpiony, ale drugi nie.
W pierwszym etapie po prostu nauczyłeś się wyszukiwać łańcuch za pomocą wyrażenia regularnego. Teraz przejdziemy do następnego kroku i dowiemy się o koncepcji flag.
Krok 2: Flagi
W tym kroku dowiesz się więcej o koncepcji i celu flag w wyrażeniach regularnych. Użyjemy metody zastąpienia JavaScript, aby wyjaśnić ten pomysł.
Jeśli chcesz zastąpić wszystkie wystąpienia „Świetnie,„Możesz użyć wyrażenia regularnego z 'G„Flaga, która jest krótka dla globalnego.
str.Wymień (/Great/g, „Awesome”);
Idealne, wszystkie wystąpienia „wielkiego” są teraz zmieniane. Ale możesz spotkać się z problemem, jeśli spróbujesz zmienić wszystkie wystąpienia „Linuxhint” na, powiedzmy, „naszej witryny” przy użyciu tej samej techniki.
Najpierw spróbujemy to zrobić, wtedy zobaczymy, jak możemy rozwiązać ten problem.
str.zamień (/Linuxhint/g, „nasza strona internetowa”);
Chociaż dostarczyliśmy globalną flagę wyrażenia regularne, pierwsze zdarzenie się nie zmienia. Wynika to z wrażliwości na przypadki. Będziemy więc również musieli podać flagę nieczuwalności przypadkówI,' w tym przypadku. Możesz to zrobić po prostu, dodającI„Flaga wraz z”G' flaga.
Świetnie. Jak widać, wszystkie wystąpienia tego terminu „Linuxhint”Został zmieniony na termin„nasza strona internetowa,”Niezależnie od wrażliwości na sprawę.
Podobnie możesz użyć wyrażeń regularnych w funkcji Split () JavaScript.
str.split (/Linuxhint/GI);
W porządku! Funkcja działała dobrze. Metoda split () zwróciła tablicę podrzędnych, na podstawie terminu „Linuxhint”. Ale jeśli chcesz również dołączyć separatory, w tablicy podłoża, będziesz musiał grać z wzorami.
Tak więc, na tym etapie, dowiedzieliśmy się o flagach i tym, jak nam pomagają. Dostępnych jest więcej flag. Na przykład „M” jest przeznaczone do dopasowania multiline, „S” jest dla DOT All itp. Teraz przejdziemy do koncepcji wzorców i dowiemy się, jak korzystać z tych elementów.
Krok 3: Wzory
Na tym etapie dowiesz się, jak korzystać z wzorów i powiązanych opcji.
Aby uwzględnić separatory do tablicy podłoża, po prostu dodaj nawiasy wokół wzoru, co widać na następującym obrazie:
Doskonały! Jak widać, separatorzy są również zawarte w szeregu podkładów.
Aby podzielić podstawę dwóch separatorów, możesz podać wiele podrzędnych w wyrażeniu regularnym za pomocą lub „|” operator.
str.split (/Linuxhint | Great/GI);
W porządku! Operator działał świetnie, gdy się spodziewamy.
Ukośnik wsteczny
Teraz, aby podzielić się na podstawę przestrzeni „” lub kropką ”.„Znaczące dodanie znaków specjalnych w wyrażeniu regularnym, dodaj„ \ ”BackSlash przed jakimkolwiek znakami specjalnymi.
str.split (/\ | \./żołnierz amerykański);
Okej, jak dotąd, tak dobrze. Na przykład, powiedzmy, chcesz zmienić kropki na przecinki w następującym wyrażeniu:
Zadziałało!
W innym celu wykorzystywane są również. Aby wyszukać dowolne słowo, cyfrę lub przestrzeń, możesz użyć odpowiednio \ w, \ d i \ s. Na przykład, aby zastąpić przestrzenie kreszkami, używane jest następujące wyrażenie:
str.zamień (/\ s/g, „-”);
Wspaniały! Teraz możesz zobaczyć potencjał w wyrażeniach regularnych, teraz.
Nawiasy kwadratowe [ ]
Jeśli chcesz wymienić wiele znaków w ciągu, możesz podać je wszystkie w jednym kwadratowym nawiasach i zostaną one zastąpione przez podany podłoże. Na przykład, jeśli chcesz wymienić trzy litery w ciągu i nie chcesz umieszczać dużo lub „|” Operatorzy w wyrażeniu regularnym, możesz użyć składni Square Bracket, w której można podać wiele liter, takich jak ten:
str.zamień (/[nia]/g, „u”);
Możesz nawet podać szereg liter, takiego:
Lub szereg liczb:
A jeśli chcesz wykluczyć dostarczone postacie w nawiasach kwadratowych, możesz użyć postaci Caret, taka:
Przydaje się to przy uzyskiwaniu danych od użytkowników oraz testowaniu i weryfikacji tych danych, szczególnie w sprawdzaniu weryfikacji e -mail, telefonu lub daty.
Wniosek
Ten artykuł właśnie porysował powierzchnię wyrażenia regularnego JavaScript. Obejmuje koncepcje tylko od początku do poziomu pośredniego. Jest o wiele więcej do nauczenia się o wyrażeniu regularnym i możesz użyć tego wyrażenia, aby robić wiele rzeczy, o których być może nawet nie pomyślałeś. Aby nadal się uczyć, pracować i uzyskać więcej doświadczenia w JavaScript, sprawdź więcej artykułów na ten temat w Linuxhint.com.