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:
AngularJS Profesjonalne techniki.pdf
(1428 KB)
D3 js w akcji.pdf
(1246 KB)
AngularJS Szybkie wprowadzenie.pdf
(811 KB)
AJAX i JavaScript Tworzenie i optymalizacja aplikacji sieciowych.pdf
(547 KB)
Adobe AIR dla programistow JavaScript Leksykon kieszonkowy.pdf
(371 KB)
Inne foldery tego chomika:
3ds max
Access
Acrobat
After Effects
Agile - Programowanie
Zgłoś jeśli
naruszono regulamin