JavaScript - wyrażenia regularne
| DZIAŁANIE: |
Kod:

Ewentualne Objaśnienia:
Zastosowanie wyrażeń regularnych pokazałem już w przykładzie 32form_praktyczne_prz.html . Tam również podałem odnośnik do zagadnienia WR w moim kursie PHP. Tutaj jeszcze chciałbym troszkę na ten temat powiedzieć.
Pierwszy przykład jest bardzo oj bardzo prosty i generalnie bezsensowny, bo ten sam efekt można uzyskać przez funkcję indexOf. Nie mniej chciałem pokazać jak deklarować wyrażenie regularne i jak dokonać sprawdzenia czy dany ciąg zawiera jakiś inny.
Nie będę tutaj dokładnie wyrażeń regularnych (patrz kurs PHP) wspomnę tylko,
że :
- kropka oznacza dowolny inny znak
- zapis z przykładu typu s[a..z]d oznacza ciąg taki, że jest literka s
potem jakakolwiek MAŁA litera (od a do z) i potem małe d
- jeśli chcemy sprawdzić jakiś specjalny znak na przykład kropkę to trzeba ją
zacytować (\) podobnie jak w przykładzie
- * - 0 lub więcej powtórzeń poprzedniego znaku [ na przykład zapis .* będzie
oznaczał 0 lub więcej powtórzeń dowolnego znaku]
- + - 1 lub więcej
- ? - 0 lub 1
- ^ - początek ciągu
- $ - koniec ciągu
- | - oznacza lub na przykład sprawdzamy czy adres jest domeną pl lub net więc
będzie to zapis wyrażenia : /(pl|net)$/
Na końcu pokazałem przykłady dotyczące metody match() którą już stosowałem w przykładzie, do którego link jest kilka linijek wyżej. Jeśli podany ciąg nie pasuje do wyrażenia match zwróci NULL. W przeciwnym razie zwracana jest odpowiednią tablicę. W pierwszym przykładzie gdy sprawdzamy słowo "coca cola" do wyrażenie /co./ (czyli co i potem jakiś dowolny znak). Do tablicy sprawdz do pierwszego elementu jest zwrócony pierwszy pasujący ciąg i tylko pierwszy, jak widać tablica ta nie posiada kolejnych elementów. W kolejnym przykładzie za wyrażeniem podałem literkę g co powoduje, że wszystkie pasujące elementy są wpisane do tablicy (co też widać na przykładzie).
Ostatni przykład powiedzmy, że skomplikowany obrazuje już jak potężne zastosowanie mają wyrażenia regularne. w Nawiasach okrągłych deklarujemy sobie to co chcemy wyciągnąć z danego wyrażenia (jak widzisz tutaj akurat te wyrażenia są takie same w tych nawiasach, jednak tak nie musi być mogą być one zupełnie różne!).do tablicy tym razem do 1 elementu (indeks 0) jest zwracany cały ciąg przeszukiwany/sprawdzany a kolejne jej elementy to odnalezione pasujące do wzorca elementy.