RegExp
Zastosowanie
Funkcja pozwala przeszukiwać ciąg znaków w celu odnalezienia fragmentu lub wielu fragmentów pasujących do wzorca zapisanego jako wyrażenie regularne.
Materiały pomocnicze dotyczące wyrażeń regularnych:
- http://regexstorm.net/reference – dokumentacja;
- http://regexstorm.net/tester – tester wyrażeń regularnych.
Składnia
RegExp(text,pattern);
RegExp(text,pattern,groupName);
RegExp(text,pattern,groupName,match);
RegExp(text,pattern,groupName,match,separator);
RegExp(text,pattern,match,separator);
Argumenty
- text – (String) przeszukiwany ciąg znaków;
- pattern – (String) wzorzec zgodny ze składnią wyrażeń regularnych;
- groupName – (String) [opcjonalnie] nazwa grupy;
- match – (String) [opcjonalnie] sposób dopasowania. Możliwe wartości [ first | all ], domyślnie „first”;
- separator – (String) [opcjonalnie] separator rozdzielający znaleziony ciąg, domyślnie nowa linia.
Zwracana wartość
Funkcja zwraca ciąg znaków.
Zwraca pierwszy pasujący ciąg znaków lub wszystkie pasujące ciągi znaków, lub pusty ciąg, jeżeli nie zostanie znalezione żadne dopasowanie.
Przykłady
Przykład 1
W tym przykładzie zmiennej simonmail zostanie przypisany znaleziony adres e-mail, pasujący do wyrażenia regularnego oznaczonego grupą o nazwie mail.
simonmail = RegExp(" 'P. Simmons' <psimmons@company.com> ", "<(?<mail>.+)>", "mail");
Przykład 2
W tym przykładzie zostaną zwrócone wszystkie (parametr all) znalezione dopasowania. Wyniki zostaną rozdzielone (domyślnym) znakiem nowej linii.
RegExp(" 'P. Simmons' <psimmons@company.com> ", "<(?<mail>.+)>", "mail", "all");
Przykład 3
W tym przykładzie zostaną zwrócone wszystkie (parametr all) znalezione dopasowania. Wyniki zostaną rozdzielone znakiem #.
RegExp(" 'P. Simmons' <psimmons@company.com> ", "<(?<mail>.+)>","mail", "all","#");
Przykład 4
W tym przykładzie zostaną zwrócone wszystkie (parametr all) znalezione dopasowania. Wyniki zostaną rozdzielone znakiem nowej linii \r\n (podanym jawnie, UWAGA! w kodzie reguły znak \ trzeba poprzedzić raz jeszcze tym samym znakiem, stąd podwójne znaki \\).
RegExp(" 'P. Simmons' <psimmons@company.com> ", "<(?<mail>.+)>","mail", "all","\\r\\n");
Elementy powiązane
- Funkcja StringContains