EPIC4 Manual


rmatch()

Pattern Matching

rmatch(slowo lista_wzorow)

Patrzy, czy slowo pasuje do listy_wzorow. Jeżeli tak, to zwraca pozycję pierwszego pasującego (zaczynając od 1). 0 oznacza, ze slowo nie pasuje.



@ :test1 = rmatch(pikachu *p*k*m*n pik* *achu blah)
@ :test2 = rmatch(nick!user@host blah!blah@blah.blah *!user@*)

$test1 to '2' (pierwszy pasyjący jest na drugiej pozycji)
$test2 to '2'



$rmatch() czesto wykorzystuje się z $word(). Pamietać jednak należy, że 0 (zero) w tych funkcjach oznacza zupełnie co innego. Dla $rmatch() oznacza to brak pasyjących s3ów. $word(), natomiast od 0 zaczyna liste słów. Prosty przyk3ad:


@ :list = [*!lamer@pa123.blah.sdi.tpnet.pl *!blah@net.pl *!*@pikus.pika.com]
@ :blah = rmatch(*!*blah@* $lista)

W tym momencie wiemy, że jeżeli $blah jest > 0 (a jest '2'), to podany wzór jest na $list. A jak wydobyć ten wzór?

@ :test = word(${blah - 1} $lista)

$test powinno mieć wartość słowa o indexie: '1' (2 - 1 = 1) z $list, czyli '*!blah@net.pl'



Nie rozumiesz przykładu? Zobacz zasady składni lub/i $word()


Zobacz także: $match(), $mid()




Lista Funkcji Home Następny Paragraf