JavaScript Wyrazenia regularne dla programistow.pdf
(
750 KB
)
Pobierz
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym
powoduje naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi
ich właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje
były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie,
ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz
Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody
wynikłe z wykorzystania informacji zawartych w książce.
Opieka redakcyjna: Ewelina Burska
Projekt okładki: Studio Gravite/Olsztyn
Obarek, Pokoński, Pazdrijowski, Zaprucki
Materiały graficzne na okładce zostały wykorzystane za zgodą Shutterstock.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/wyrjsp
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
ISBN: 978-83-283-3892-0
Copyright © Helion 2018
Printed in Poland.
•
Kup książkę
•
Poleć książkę
•
Oceń książkę
•
Księgarnia internetowa
•
Lubię to! » Nasza społeczność
Spis treści
Rozdział 1. Na początek nieco teorii ...................................................................... 7
Czym są wyrażenia regularne? .................................................................................................. 7
Dla kogo przeznaczona jest książka ......................................................................................... 8
Nie ucz się regexp na pamięć! ................................................................................................... 9
Kilka słów o Unicode ............................................................................................................... 10
Unicode to nie UTF! ......................................................................................................... 11
Kodowanie znaków UTF-8 .............................................................................................. 12
Kodowanie znaków UTF-16 ............................................................................................ 13
Kodowanie znaków i BOM .............................................................................................. 15
Rozdział 2. Składnia wyrażeń regularnych w JavaScripcie ..................................... 17
Dopasowanie dosłowne ........................................................................................................... 18
Znaki specjalne i sekwencja ucieczki ..................................................................................... 20
Dopasowanie znaków niedrukowanych i białych ................................................................ 23
Klasy znaków ............................................................................................................................. 25
Zakresy znaków w klasach ....................................................................................................... 28
Predefiniowane znaki i zakresy znaków ................................................................................ 31
Dopasowanie cyfry ............................................................................................................ 31
Dopasowanie „wyrazu” .................................................................................................... 32
Problem sekwencji negujących wewnątrz klas znaków ............................................... 34
Białe znaki .......................................................................................................................... 36
Dopasowanie znaku NULL .............................................................................................. 37
Analiza granicy wyrazu .................................................................................................... 38
Zestawienie predefiniowanych sekwencji znakowych ................................................. 40
Grupy i odwołania wsteczne ................................................................................................... 41
Grupowanie z wykorzystaniem alternatywy ................................................................. 43
Grupy nieprzechwytujące ................................................................................................ 46
Kwantyfikatory — podstawy ................................................................................................... 48
Kwantyfikatory skrótowe ................................................................................................. 51
Kwantyfikatory zachłanne i niezachłanne ..................................................................... 53
Kup książkę
Poleć książkę
4
JavaScript. Wyrażenia regularne dla programistów
Wyprzedzenia pozytywne i negatywne .................................................................................. 56
Granice dopasowania początku i końca ................................................................................ 58
Flagi we wzorcach wyrażeń regularnych ............................................................................... 60
Flaga case insensitive (i) ................................................................................................... 61
Flaga dopasowania globalnego (g) ......................................................................................... 64
Flaga multiline (m) ................................................................................................................... 67
Flaga unicode (u) ..................................................................................................................... 68
Flaga unicode (u) — poprawne rozpoznawanie wszystkich znaków Unicode ................ 69
Flaga sticky (y) .......................................................................................................................... 73
Bezpieczne stosowanie sekwencji ucieczki ............................................................................ 76
Granice dopasowania ............................................................................................................... 77
Kwantyfikatory .......................................................................................................................... 78
Symbole specjalne wewnątrz klasy znaków .......................................................................... 79
Inne symbole specjalne ............................................................................................................ 81
Rozdział 3. Praca z wyrażeniami regularnymi w JavaScripcie ................................. 83
Tworzenie wyrażeń regularnych ............................................................................................ 83
Sekwencje ucieczki w konstruktorze RegExp ................................................................ 84
Definiowanie flag podczas tworzenia wzorców ............................................................ 85
Tworzenie wzorców z innych wzorców ......................................................................... 86
Komentowanie wzorców regexp ............................................................................................ 88
Omówienie właściwości obiektu RegExp .............................................................................. 90
Obsługa flag ........................................................................................................................ 90
Znakowa reprezentacja wzorca regexp .......................................................................... 91
Właściwości ostatnio użytego obiektu RegExp ............................................................. 91
Metoda RegExp.prototype.test ............................................................................................... 94
Obsługa flag case insensitive i unicode .......................................................................... 94
Problematyczne włączanie flag global i sticky ............................................................... 95
Metoda RegExp.prototype.exec .............................................................................................. 97
Aktywna flaga global lub sticky ....................................................................................... 98
Metoda exec() i właściwość lastIndex ............................................................................ 99
Różnica między index i lastIndex ................................................................................. 101
Wzorzec zawierający grupy przechwytujące i warunkowe ....................................... 102
Użycie metody exec() w pętli ......................................................................................... 104
Metoda String.prototype.search ........................................................................................... 106
Metoda search() w instrukcjach warunkowych .......................................................... 107
Kwantyfikator dowolnej liczby powtórzeń .................................................................. 108
Flagi global i sticky w metodzie search() ..................................................................... 109
Kup książkę
Poleć książkę
Spis treści
5
Metoda String.prototype.match ........................................................................................... 110
Współpraca z flagą global ............................................................................................... 110
Aktywacja flagi sticky ..................................................................................................... 111
Analiza dopasowanych grup przechwytujących ......................................................... 113
Metoda String.prototype.replace .......................................................................................... 114
Dostęp do właściwości ostatniego obiektu RegExp .................................................... 114
Nowy ciąg jako funkcja zwrotna ................................................................................... 116
Argumenty funkcji zwrotnej i ich wykorzystanie ....................................................... 117
Grupy przechwytujące jako dopasowania alternatywne ............................................ 119
Wyrażenie regularne z flagą sticky ............................................................................... 120
Metoda String.prototype.split ............................................................................................... 121
Wyrażenie regularne jako separator ............................................................................. 121
Przechwycenie separatora dzielącego ciąg znakowy .................................................. 122
Analiza ciągów znakowych bez użycia wyrażeń regularnych ........................................... 124
Metoda startsWith .......................................................................................................... 125
Metoda endsWith ............................................................................................................ 126
Metoda includes .............................................................................................................. 126
Metoda indexOf() ........................................................................................................... 127
Metoda lastIndexOf ........................................................................................................ 128
Praca ze znakami Unicode .................................................................................................... 129
Tworzenie ciągów znakowych Unicode ....................................................................... 130
Metoda charCodeAt ....................................................................................................... 131
Metoda codePointAt ....................................................................................................... 132
Metody fromCharCode i fromCodePoint ................................................................... 133
Rozdział 4. Przykładowe wyrażenia regularne z omówieniem ............................. 135
Usuwanie białych znaków z początku i końca ciągu ......................................................... 135
Sprawdzenie, czy ciąg zawiera wyłącznie znaki alfanumeryczne ..................................... 136
Walidacja liczby całkowitej w systemie dziesiętnym ......................................................... 138
Walidacja liczby z częścią ułamkową w systemie dziesiętnym ......................................... 141
Walidacja liczby w systemie wykładniczym ........................................................................ 142
Liczby w systemie dwójkowym i szesnastkowym .............................................................. 145
Weryfikacja kolorów w zapisie HEX, RGB i HSL .............................................................. 148
Sprawdzenie, czy liczba jest podzielna przez 2, 4 lub 5 ..................................................... 151
Czy liczba zawiera się we wskazanym zakresie ................................................................... 153
Analiza kodu pocztowego ...................................................................................................... 155
Analiza numeru telefonu ....................................................................................................... 158
Usuwanie przedrostków z ciągu zawierającego imię i nazwisko ..................................... 160
Ciąg złożony z unikalnych znaków ...................................................................................... 161
Kup książkę
Poleć książkę
Plik z chomika:
PDFator
Inne pliki z tego folderu:
JavaScript Przewodnik Poznaj jezyk mistrzow programowania Wydanie VII.pdf
(2504 KB)
AngularJS Profesjonalne techniki.pdf
(1428 KB)
AngularJS Praktyczne przyklady.pdf
(1394 KB)
Baw sie kodem Twoja wlasna gra CoderDojo Nano.pdf
(6759 KB)
Aplikacje 3D Przewodnik po HTML5 WebGL i CSS3.pdf
(2551 KB)
Inne foldery tego chomika:
3ds max
50 zadań i zagadek szachowych
Access
Acrobat
Administracja
Zgłoś jeśli
naruszono regulamin